【问题标题】:Is there a way to use Dart Sass command line version with web pack?有没有办法在 web pack 中使用 Dart Sass 命令行版本?
【发布时间】:2021-08-06 15:47:04
【问题描述】:
从dart-sass 文档中,我们看到 dart-sass 有一个命令行版本并且性能更高。
我想知道我们是否可以以某种方式使用该命令行版本和现有的 webpack 设置来加快我们的构建时性能。
我可以在构建机器中安装 dart 库。但是是否有任何 webpack 插件可以利用它并使用机器依赖项来构建 sass 而不是 dart-sass npm?
【问题讨论】:
标签:
javascript
webpack
sass
sass-loader
dart-sass
【解决方案1】:
dart-sass 团队似乎正在努力支持这个案例(参见 issue)。但工作还没有完成。
但是是否有任何 webpack 插件可以利用它并使用机器依赖项来构建 sass 而不是 dart-sass npm?
我找不到。但是,可以创建您自己的使用 dart 可执行文件的 loader(sass-loader 的源代码是一个很好的参考点,而且不是很复杂)。由于 dart cli 采用从标准输入 (sass --stdin) 读取的选项,因此您应该能够通过管道传输到 cli 并将输出传回。
可能还有其他方法可以使用 webpack 扩展来实现您的目标,但在我看来,使用加载器似乎是最直接的。
这比使用sass-loader 使用的js api 快吗?好吧,根据benchmarks,可执行文件的优势在 1.7 到 4.1 倍之间变化(不包括可执行文件运行速度快 24 倍的最简单情况,但在所有情况下仍是亚秒级执行)。但是流程生成会产生开销,因此您必须测量以查看在您的情况下哪个更快。