有没有SASS.js? 像LESS.js?

我之前使用过LESS.js。 这很容易使用,就像

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

我看到了SASS.js。 我怎样才能以类似的方式使用它? parsingSASS文件立即在HTML中使用。 看起来SASS.js更适合Node.js使用?

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

没有官方认可的sass或scss的JavaScript实现。 我已经看到了一些正在进行的实现,但目前还没有推荐使用。

但是请注意几点:

  1. 为什么你应该让所有的用户编译你的样式表,当你可以为它们做一次的时候呢。
  2. 如果JavaScript被禁用,您的网站会是什么样子?
  3. 如果您决定在将来更改为服务器端实现,则必须相应地更改所有模板。

因此,虽然开始的时间稍微多一些,但我们(sass核心团队)认为服务器端编译是最好的长期方法。 同样,开发人员更喜欢服务器端编译生产样式表。

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

尝试使用交互式操场 sass.js

我刚刚发现了一个有趣的Sass.js游乐场。 几年来可能有一些变化。 看一下这个:

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

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

有一个GitHub , scss-js的尝试。 但是,这是不完整的,在五个月内没有任何承诺。

正如我们所期待的,在C ++上重写它之后,可以通过Emscripten在Javascript中进行编译。

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

正如他们推荐的,对于节点,您可以使用: https : //github.com/sass/node-sass

为什么使用LibSass

虽然没有官方批准的sass实现,但是Sass引擎的官方C / C ++端口被称为LibSass 。 由于LibSass是官方的实现,所以最好select一个使用LibSass的JavaScript库。


在服务器上

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

在底层,Node-sass使用LibSass本身。


在浏览器中

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

在底层,Sass.js使用了一个版本的LibSass(在我写这篇文章的时候是v3.3.6),它已经被Emscripten转换成了JavaScript。