Dart Sass
Dart Sass 是 Sass 的主要实现,这意味着它比任何其他实现都更早获得新功能。它速度快、易于安装,并且编译成纯 JavaScript,这使得它易于集成到现代 Web 开发工作流程中。在 GitHub 上了解更多信息或帮助开发。
命令行命令行永久链接
Dart Sass 的独立命令行可执行文件使用极快的 Dart VM 编译您的样式表。要在命令行上安装 Dart Sass,请查看 安装说明。安装完成后,您可以使用它来编译文件
sass source/index.scss css/index.css
有关命令行接口的更多信息,请参阅 sass --help
。
Dart 库Dart 库永久链接
您还可以将 Dart Sass 作为 Dart 库来使用,以获得 Dart VM 的速度以及定义您自己的函数和导入器功能。将其添加到现有项目中
-
安装 Dart SDK。确保其
bin
目录位于 您的PATH
中。 -
创建一个类似于此的
pubspec.yaml
文件
name: my_project
dev_dependencies:
sass: ^1.79.4
-
运行
dart pub get
。 -
创建一个类似于此的
compile-sass.dart
文件
import 'dart:io';
import 'package:sass/sass.dart' as sass;
void main(List<String> arguments) {
var result = sass.compileToResult(arguments[0]);
new File(arguments[1]).writeAsStringSync(result.css);
}
- 您现在可以使用它来编译文件
dart compile-sass.dart styles.scss styles.css
-
详细了解 编写 Dart 代码(这很容易!)以及 Sass 的 Dart API。
JavaScript 库JavaScript 库永久链接
Dart Sass 也作为纯 JavaScript sass
包 和 sass-embedded
包 在 npm 上分发。纯 JS 版本比独立可执行文件慢,但它易于集成到现有工作流程中,并且允许您在 JavaScript 中定义自定义函数和导入器。您可以使用 npm install --save-dev sass
将其添加到您的项目中,并将其作为库 require()
const sass = require('sass');
const result = sass.compile('style.scss');
console.log(result.css);
// OR
const result = await sass.compileAsync('style.scss');
console.log(result.css);
通过 npm 安装时,Dart Sass 支持 全新的 JavaScript API 以及与旧的 Node Sass API 完全兼容的 旧版 API。请注意,当使用 sass
包时,同步 API 函数的速度是异步 API 的两倍多,这是由于异步回调的开销造成的。
嵌入式 Dart Sass嵌入式 Dart Sass 永久链接
Dart Sass 还支持 嵌入式 Sass 协议,该协议允许任何编程语言直接与 Dart VM 通信以运行 Sass 编译,包括自定义函数和导入器支持。这有两个主要好处
-
它可以轻松地为任何可以运行子进程的编程语言创建 Dart Sass 的包装库。
-
Dart VM 非常快,因此即使在原生
sass
包可用的 JavaScript 中,这也提供了显著的性能提升。
以下嵌入式 Sass 包装包可用。如果您还有其他要添加的包,请 发送拉取请求!
-
Node.js:
sass-embedded
包 由 Sass 团队维护,并支持与原生 JSsass
包相同的 官方 Sass JavaScript API。 -
Go:
github.com/bep/godartsass
包 运行嵌入式 Sass 并支持 Hugo 静态站点生成器。 -
Java:
de.larsgrefer.sass
包 在 Java 中运行嵌入式 Sass。 -
Ruby:
sass-embedded
gem 由 Sass 常规贡献者 なつき 维护。 -
Rust:
sass-embedded
crate 在 Rust 中运行嵌入式 Sass。