我刚刚学习到在sass中应该使用
@use
而不是@import
。但是据我了解,我应该使用npm sass
而不是npm node-sass
来实现这一点。这两者之间有什么区别?为什么node-sass
上不能使用@use
和@forward
?@use
而不是@import
。但是据我了解,我应该使用npm sass
而不是npm node-sass
来实现这一点。这两者之间有什么区别?为什么node-sass
上不能使用@use
和@forward
?蓝色线条代表node-sass
,橙色线条代表sass
的受欢迎程度。
在 sass
的 Id docs 中,你可以看到以下比较:
- Dart Sass:这个包是由 Dart Sass 编译而来,可以作为一个独立的可执行文件或者作为一个 Dart 库来使用。在 Dart VM 上运行 Dart Sass 比纯 JavaScript 版本要快得多,因此对于性能敏感的应用程序可能更合适。目前 Dart API 比 JavaScript API 更加用户友好。有关如何使用它的详细信息,请参阅 Dart Sass README。
- Node Sass:这是一个围绕 LibSass 的 C++ 实现的 Sass 包装器。Node Sass 支持与此包相同的 API,速度也更快(虽然通常比 Dart Sass 慢一点)。但是,它需要一个本地库,安装可能会比较困难,并且添加功能和修复错误通常会更慢。
这里有一个 答案,可以进行 Bootstrap 4 的比较。
在这种情况下,两秒钟并不是什么大不了的事情;但需要考虑到Dart-Sass(JS)比Dart-Sass(Dart VM)慢九倍,比node-sass慢三倍。