解析样式表
Sass 样式表是从一系列 Unicode 码点中解析出来的。它是直接解析的,没有首先被转换成令牌流。
Sass 样式表是从一系列 Unicode 码点中解析出来的。它是直接解析的,没有首先被转换成令牌流。
输入编码
通常情况下,文档最初只是一系列字节,必须将其解码为 Unicode。Sass 按以下方式执行此解码:
- 如果字节序列以 UTF-8 或 UTF-16 编码的 U+FEFF 字节顺序标记开头,则使用相应的编码。
- 如果字节序列以纯 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 属性。