Dart Sass

Dart Sass 是 Sass 的主要实现,这意味着它在任何其他实现之前都会获得新功能。它速度快、易于安装,并且编译为纯 JavaScript,使其易于集成到现代 Web 开发工作流中。在 GitHub 上了解更多或帮助其开发。

命令行命令行 permalink

Dart Sass 的独立命令行可执行文件使用超快的 Dart VM 编译你的样式表。要在命令行安装 Dart Sass,请查看安装说明。安装完成后,你可以用它编译文件:

sass source/index.scss css/index.css

使用 sass --help 获取有关命令行界面的更多信息。

Dart 库Dart 库 permalink

你还可以使用 Dart Sass 作为 Dart 库,以获得 Dart VM 的速度以及定义自己的函数和导入器的能力。要将其添加到现有项目中:

  1. 安装 Dart SDK。确保其 bin 目录在你的 PATH

  2. 创建一个如下的 pubspec.yaml 文件:

name: my_project
dev_dependencies:
  sass: ^
  1. 运行 dart pub get

  2. 创建一个如下的 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);
}
  1. 现在你可以用它编译文件:
dart compile-sass.dart styles.scss styles.css
  1. 了解更多关于编写 Dart 代码(很简单!)和 Sass 的 Dart API

JavaScript 库JavaScript 库 permalink

Dart Sass 还作为纯 JavaScript 的 sasssass-embedded在 npm 上分发。纯 JS 版本比独立可执行文件慢,但易于集成到现有工作流中,并允许你在 JavaScript 中定义自定义函数和导入器。你可以使用 npm install --save-dev sass 将其添加到项目中,并将其作为库 require()

const sass = require('sass');

const result = sass.compile('style.scss');
console.log(result.css);

// 或者

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 permalink

Dart Sass 还支持 Embedded Sass 协议,它允许任何编程语言直接与 Dart VM 通信以运行 Sass 编译,包括自定义函数和导入器支持。这有两个主要优点:

  1. 它使得为任何可以运行子进程的编程语言创建 Dart Sass 的包装器库变得很容易。

  2. Dart VM 非常快,因此即使对于可用原生 sass 包的 JavaScript 来说,这也提供了实质性的性能提升。

以下是可用的 Embedded Sass 包装器包。如果你有另一个要添加,请发送一个拉取请求