有SASS.js吗?像LESS.js这样的东西?

时间:2010-12-14 06:51:34

标签: css sass less

我之前使用过LESS.js。它很容易使用,比如

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

我看到了SASS.js。我怎样才能以类似的方式使用它?解析SASS文件以便在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: { ... }}

7 个答案:

答案 0 :(得分:41)

没有官方批准的sass或scss的JavaScript实现。我已经看到了一些正在进行中的实现,但目前我还没有建议使用。

但是,请几点:

  1. 为什么要让所有用户在为所有用户执行一次样式表时编译样式表。
  2. 如果禁用JavaScript,您的网站会是什么样子。
  3. 如果您决定在将来更改为服务器端实施,则必须相应地更改所有模板。
  4. 因此,虽然开始时需要更多设置,但我们(sass核心团队)认为服务器端编译是最好的长期方法。同样,开发人员更喜欢生产样式表的服务器端编译。

答案 1 :(得分:26)

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

使用interactive playground

尝试sass.js

答案 2 :(得分:6)

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

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

答案 3 :(得分:6)

正如我们所料,在C++上重写后,可以通过Emscripten在Javascript中编译它。

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

正如他们所建议的那样,对于节点,您可以使用此节点:https://github.com/sass/node-sass

答案 4 :(得分:5)

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

答案 5 :(得分:3)

尝试GitHubscss-js。但是,它是不完整的,并且在五个月内没有任何提交。

答案 6 :(得分:1)

为什么选择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。