重大變更:以 – 開頭的函式與 Mixin
在 Dart Sass 1.76.0 之前,函式和 mixin 名稱可以是任何有效的 CSS 識別符號,但以 --
開頭的識別符號現在已被棄用。
一般來說,Sass 允許任何有效的 CSS 識別符號用於任何 Sass 定義。這包括以 --
開頭的識別符號,使用者可能最熟悉的是在 CSS 自訂屬性的情況下使用。然而,CSS 工作小組正在認真考慮在 CSS 本身加入對函式和 mixin 的內建支援,可能會使用與 Sass 一樣的 @mixin
和 @function
at 規則。
這表示 Sass 為了維持其 CSS 相容性的核心設計原則,同時仍然支援 Sass 的建置時期函式和 mixin,需要能夠區分使用相同 at 規則名稱的 CSS 和 Sass 宣告。幸運的是,雖然 CSS 用於函式和 mixin 的語法細節仍然懸而未決,但有一點似乎沒有爭議:使用類似自訂屬性、以 --
開頭的識別符號作為 CSS mixin 和函式名稱。
這將允許 Sass 將純 CSS 函式和 mixin 區分為以 --
開頭的函式和 mixin。但為了使其運作,我們必須先禁止 Sass 函式和 mixin 使用該前綴。
過渡期過渡期永久連結
- Dart Sass
- 自 1.76.0 起
- LibSass
- ✗
- Ruby Sass
- ✗
在 Dart Sass 1.76.0 和 Dart Sass 2.0.0 之間,Dart Sass 將繼續允許名稱以 --
開頭的函式和混入。不過,它會發出名為 css-function-mixin
的棄用警告。
在 Dart Sass 2.0.0 和 Dart Sass 支援純 CSS 函式和混入的版本之間,函式和混入的名稱將不允許以 --
開頭。
我可以隱藏警告嗎?我可以隱藏警告嗎? 永久連結
Sass 提供了一套強大的選項,用於管理您看到的棄用警告以及何時看到它們。
簡潔模式和詳細模式簡潔模式和詳細模式 永久連結
預設情況下,Sass 以簡潔模式運行,它只會針對每種類型的棄用警告打印五次,之後就會隱藏其他警告。這有助於確保使用者知道他們需要注意即將發生的重大變更,而不會產生過多的控制台訊息。
如果您以詳細模式運行 Sass,它會打印它遇到的*每個*棄用警告。這對於追蹤修復棄用警告時剩餘的工作很有用。您可以使用命令列上的 --verbose
旗標 或 JavaScript API 中的 verbose
選項 來啟用詳細模式。
⚠️ 注意!
從 JS API 運行時,Sass 不會在編譯之間共享任何資訊,因此預設情況下,它會針對*每個*編譯的樣式表打印五個警告。但是,您可以通過編寫(或要求您最喜歡的框架 Sass 外掛程式的作者編寫)一個 自訂 Logger
來解決此問題,該記錄器每個棄用警告只打印五個錯誤,並且可以在多個編譯之間共享。
隱藏依賴項中的棄用警告隱藏依賴項中的棄用警告 永久連結
有時,您的依賴項會有一些您無能為力的棄用警告。您可以使用命令列上的 --quiet-deps
旗標 或 JavaScript API 中的 quietDeps
選項 來隱藏來自依賴項的棄用警告,同時仍然為您的應用程式打印它們。
就這個旗標而言,「依賴項」是指任何並非僅僅從入口點樣式表進行一系列相對載入的樣式表。這意味著任何來自載入路徑的樣式表,以及大多數通過自訂匯入器載入的樣式表。
隱藏特定棄用警告隱藏特定棄用警告 永久連結
如果您知道某個特定棄用警告對您來說不是問題,您可以使用命令列上的 --silence-deprecation
旗標 或 JavaScript API 中的 silenceDeprecations
選項 來隱藏該特定棄用警告的警告。