有没有办法在 web pack 中使用 Dart Sass 命令行版本?

Posted

技术标签:

【中文标题】有没有办法在 web pack 中使用 Dart Sass 命令行版本?【英文标题】:Is there a way to use Dart Sass command line version with web pack? 【发布时间】:2021-08-06 15:47:04 【问题描述】:

从dart-sass 文档中,我们看到 dart-sass 有一个命令行版本并且性能更高。

我想知道我们是否可以以某种方式使用该命令行版本和现有的 webpack 设置来加快我们的构建时性能。

我可以在构建机器中安装 dart 库。但是是否有任何 webpack 插件可以利用它并使用机器依赖项来构建 sass 而不是 dart-sass npm?

【问题讨论】:

【参考方案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 倍的最简单情况,但在所有情况下仍是亚秒级执行)。但是流程生成会产生开销,因此您必须测量以查看在您的情况下哪个更快。

【讨论】:

以上是关于有没有办法在 web pack 中使用 Dart Sass 命令行版本?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 dart 中使用 JsonSerializable 创建 JsonKey 动态,我们可以从 JsonSerializable 类中创建和获取数组吗?

努力在没有 web-pack 的现有 React 项目中安装 SCSS

没有在 IntelliJ Dart 模板中添加新的颤振 Web 项目的选项!!!还尝试了 Vs 代码,正在询问哪个 Dart 模板

★Dart-3-构建和测试Dart app

#pragma pack(show) 与 GCC

如果我只使用flutter web(没有android或ios应用程序),我还应该在index.html和main.dart中初始化firebase应用程序两次吗?