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