解析样式表

Sass 样式表从 Unicode 代码点序列中解析。它直接解析,而不是先转换为标记流。

输入编码输入编码 permalink

Compatibility:
Dart Sass
LibSass
Ruby Sass

Dart Sass 目前支持 UTF-8 编码。因此,最安全的做法是将所有 Sass 样式表编码为 UTF-8。

通常,文档最初仅作为字节序列提供,必须解码为 Unicode。Sass 按以下方式执行此解码:

  • 如果字节序列以 U+FEFF 字节顺序标记的 UTF-8 或 UTF-16 编码开头,则使用相应的编码。

  • 如果字节序列以纯 ASCII 字符串 @charset 开头,Sass 使用 CSS 算法的第 2 步确定回退编码

  • 否则,使用 UTF-8。

解析错误解析错误 permalink

当 Sass 在样式表中遇到无效语法时,解析将失败,并向用户呈现一个错误,其中包含关于无效语法位置和无效原因的信息。

请注意,这与 CSS 不同,CSS 指定了如何从大多数错误中恢复,而不是立即失败。这是 SCSS 不是严格的 CSS 超集的少数情况之一。然而,对 Sass 用户来说,立即看到错误比将错误传递到 CSS 输出更有用。

解析错误的位置可以通过特定于实现的 API 访问。例如,在 Dart Sass 中,你可以访问 SassException.span,在 Node Sass 和 Dart Sass 的 JS API 中,你可以访问 filelinecolumn 属性。