有没有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实现。 我已经看到了一些正在进行的实现,但目前还没有推荐使用。
但是请注意几点:
- 为什么你应该让所有的用户编译你的样式表,当你可以为它们做一次的时候呢。
- 如果JavaScript被禁用,您的网站会是什么样子?
- 如果您决定在将来更改为服务器端实现,则必须相应地更改所有模板。
因此,虽然开始的时间稍微多一些,但我们(sass核心团队)认为服务器端编译是最好的长期方法。 同样,开发人员更喜欢服务器端编译生产样式表。
由于visionmeda / sass.js不再可用,而且scss-js在2年内没有更新,所以我可能会对sass.js感兴趣。 这是使用Emscripten编译为JavaScript的C ++库libsass (也被node-sass使用)。 在html中链接或内联的scss样式表的实现可以在sass.link.jsfind。
尝试使用交互式操场 sass.js
我刚刚发现了一个有趣的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。