解析样式表
Sass 样式表从一系列 Unicode 代码点解析。它直接解析,无需首先转换为令牌 流。
输入编码输入编码永久链接
- Dart Sass
- ✗
- LibSass
- ✓
- Ruby Sass
- ✓
兼容性
Dart Sass 目前仅支持 UTF-8 编码。因此,最安全的方法是将所有 Sass 样式表编码为 UTF-8。
通常情况下,文档最初只能以字节序列的形式提供,必须将其解码为 Unicode。Sass 执行以下解码 操作
-
如果字节序列以 UTF-8 或 UTF-16 编码的 U+FEFF BYTE ORDER MARK 开头,则使用相应的编码 。
-
如果字节序列以纯 ASCII 字符串
@charset
开头,则 Sass 使用 CSS 算法步骤 2 的 确定回退 编码 来确定编码。 -
否则,使用 UTF-8 。
解析错误解析错误永久链接
当 Sass 在样式表中遇到无效语法时,解析将失败,并且会向用户呈现错误,其中包含有关无效语法位置的信息及其无效的原因 。
请注意,这与 CSS 不同,CSS 指定如何从大多数错误中恢复,而不是立即失败。这是 SCSS 不是严格的 CSS 超集的少数几个情况之一。但是,对于 Sass 用户来说,立即看到错误比将它们传递给 CSS 输出更有用。
可以通过特定于实现的 API 访问解析错误的位置。例如,在 Dart Sass 中,您可以访问 SassException.span
,而在 Node Sass 和 Dart Sass 的 JS API 中,您可以访问 file
、line
和 column
属性。