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