剖析樣式表
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
屬性。