用于节点应用程序的LibSass的SCSS编译器替代方案

时间:2017-09-12 11:15:39

标签: node.js webpack sass gulp

Libsass似乎是SCSS最受欢迎的编译器之一,http://sass-lang.com/libsass列出了许多常见编程语言的各种libsass包装器。对于节点应用程序,node-sass 和webpack或gulp的相应加载器似乎是最明显的选择。然而,安装和使用node-sass需要github访问和python 2.7解释器,并且由于我不想在这里讨论的原因,我在生产环境中都没有。

  1. 在没有github访问和python解释器的生产环境中安装和使用node-sass是否有可行的解决方法?
  2. 是否有其他SCSS编译器可以通过webpack或gulp使用 不需要Github访问和/或安装的python解释器?

3 个答案:

答案 0 :(得分:1)

除非您的应用程序必须在运行中编译Sass,否则您应该在开发机器上编译样式并将静态CSS推送到您的生产环境。

答案 1 :(得分:1)

现在有Dart-Sass,它是官方意义上的“ Sass的主要实现”。它已发布,适用于通过GitHub,Chocolatey,Scoop,Homebrew等提供的所有主要操作系统。

对于您的用例,我将使用转换为JavaScript on npm的版本。根据我对大型Sass项目(VideoJS)的测试,Dart-Sass的执行速度比node-sass稍慢,但是如果您进行较小的更改,还不错。

第二次pure-JS node-sass alternative is PostCSS,尽管您可能无法使用所有想要的Sass功能。

答案 2 :(得分:0)

虽然与@tsi提供的答案类似,但我建议您的构建不是在开发机器上进行,而是在构建箱上进行。

某些选项包括Gitlabs CIBitbucket pipelines

如果确实在开发机器上运行它,请确保在Vagrant或Docker中进行操作以创建一致的工件。

要回答第二个问题,不,似乎没有其他选择