关于CSS:是否有SASS.js?像LESS.js一样?

Is there a SASS.js? Something like LESS.js?

我以前使用过LESS.js。易于使用,类似于

1
2
<link rel="stylesheet/less" href="main.less" type="text/css">
<script src="less.js" type="text/javascript">

我看到了SASS.js。如何以类似方式使用它?解析SASS文件以立即在HTML中使用。看来SASS.js更适合与Node.js一起使用?

1
2
3
4
5
6
var sass = require('sass')
sass.render('... string of sass ...')
// => '... string of css ...'

sass.collect('... string of sass ...')
// => { selectors: [...], variables: { ... }, mixins: { ... }}


尚无官方批准的sass或scss的JavaScript实现。我看到了一些正在实施的实现,但是目前我不推荐使用这些实现。

但是,请注意以下几点:

  • 当您一次可以对所有用户进行编译时,为什么要让所有用户来编译样式表。
  • 如果禁用JavaScript,您的网站会是什么样子。
  • 如果您决定将来更改为服务器端实现,则必须相应地更改所有模板。
  • 因此,尽管需要更多设置才能开始,但我们(sass核心团队)认为服务器端编译是最好的长期方法。同样,较少的开发人员更喜欢将服务器端编译用于生产样式表。


    由于visionmeda / sass.js不再可用,并且scss-js已有2年没有更新了,所以我可能对sass.js感兴趣。这是使用Emscripten编译为JavaScript的C库libsass(也由node-sass使用)。可以在sass.link.js中找到编译以html链接或内联的scss样式表的实现。

    使用交互式游乐场尝试sass.js


    正如我们期望的那样,在用C重写后,可以通过Emscripten在Javascript中对其进行编译。

    这是浏览器版本:https://github.com/medialize/sass.js/

    按照他们的建议,对于节点,您可以使用以下命令:https://github.com/sass/node-sass


    我刚刚发现了一个有趣的Sass.js游乐场。这些年来,有些事情可能已经改变。检查一下:

    http://medialize.github.io/playground.sass.js/


    您绝对不应该让所有用户都编译样式表,但是javascript实现也可以在服务器上运行。我也在寻找javascript sass实现-在node.js应用程序中使用。这是Sass团队正在考虑的事情吗?


    在GitHub上尝试进行scss-js。但是,它不完整,并且在五个月内没有任何提交。


    为什么选择LibSass

    虽然没有官方批准的sass JavaScript实现,但存在Sass引擎的官方C / C端口,称为LibSass。因为LibSass是官方实现,所以最好选择一个在后台使用LibSass的JavaScript库。

    在服务器上

    对于在Node.js环境中运行的JavaScript,有Node-sass。

    在后台,Node-sass使用LibSass本身。

    在浏览器中

    对于在浏览器中运行的JavaScript,有Sass.js。

    在后台,Sass.js使用的LibSass版本(在撰写本文时为v3.3.6)已通过Emscripten转换为JavaScript。