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

Jie*_*eng 110 css sass less

我已经使用LESS.js之前.它易于使用,类似于

<link rel="stylesheet/less" href="main.less" type="text/css">
<script src="less.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

我看到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: { ... }}
Run Code Online (Sandbox Code Playgroud)

chr*_*ein 42

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

不过,请几点:

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

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

  • 我的用例:开发html + css模板,将其放入rails项目中.将sass.js用于本地主机开发目的是很好的,这样我就不必乱用服务器的东西了. (155认同)
  • 在许多情况下,客户端编译很有用.例如,如果您想让用户使用其页面外观并仅保存结果,则将其选择回服务器. (92认同)
  • JavaScript实现也可以在服务器端使用node/rhino等,而不必依赖ruby (27认同)
  • 我100%同意chriseppstein(你为什么要用户编译样式表),这里没有涉及,简单明了:开发.所有我部署的js代码我想要缩小和压缩,就像我的CSS一样.但在开发过程中,有助于访问*代码*而不是"已编译"版本.我不确定我是否代表所有前端工程师,但我可以说,我们中的很多人使用我们的浏览器和编辑器作为开发阶段所需的唯一工具.我不想在开发过程中"编译"sass/scss.部署/ CI /生产是另一回事 (26认同)
  • 在作者方面投入一些东西; 我想考虑使用SASS但我不使用也不想使用Ruby; 因此客户端解决方案比没有解决方案更好.在Ruby中编写它会限制其仅用于ruby用户; 如果它是用JS编写的,它可以在客户端或服务器上使用(使用节点,经典asp,asp.net和其他可能). (15认同)
  • 我衷心同意客户端编译有一个有效的用例.我喜欢Ruby,但是有很多网络用户不使用它,或者发现它太复杂而且没有必要.客户端编译器确实使SASS可用于此类Web用户.当然,他们希望链接到已编译的CSS进行生产,但它对开发有很大意义.老实说,我认为这是LESS在SASS上占有一席之地的一个领域. (6认同)
  • 除了@ JosefRichter的用例之外,我还会添加一些不太常见但可能非常有趣的可能性,可能会有一两个浏览器供应商更容易直接集成到[基于浏览器的实时编辑工具]中(https: //developer.mozilla.org/en/Tools/Style_Editor).浏览器中的这种支持在今天并不存在,但我希望看到它(并且在这个问题上有一定的影响力),我认为这对于采用SASS实际上是有益的.LESS今天会有优势. (3认同)

rod*_*ehm 29

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

使用互动游乐场试试sass.js

  • 现在我们只需要一个C++到Ruby编译器,我们可以统一代码库. (3认同)

nik*_*oza 7

正如我们所期望的那样,在C++上重写之后,可以通过Emscripten在Javascript中编译它.

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

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

  • 这个和(当前接受的)答案的组合应该是实际接受的答案. (2认同)

Cho*_*ang 6

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

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


til*_*ryj 5

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

  • 我不想用SASS.js来制作!我希望能够部署一台开发机器而无需为SASS安装ruby.开发完成后,我可以在任何机器上处理SASS并将结果CSS移动到生产服务器. (2认同)