节点应用程序的LibSass的SCSS编译器替代品

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

  1. 有没有在没有github访问权限和python解释器的生产环境中安装和使用node-sass的可行解决方法?
  2. 是否还有其他SCSS-可以通过webpack或gulp使用且不需要Github访问和/或已安装python解释器的编译器?
猴子村村2020/04/03 14:49:39

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

一些选项包括Gitlabs CIBitbucket管道

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

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

小胖2020/04/03 14:49:39

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

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

第二个pure-JS node-sass替代方法是PostCSS,尽管您可能无法使用所需的所有Sass功能。

泡芙2020/04/03 14:49:39

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