解析樣式表

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 中,您可以訪問 filelinecolumn 屬性。