重大變更:以 – 開頭的函式與 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 選項 來隱藏該特定棄用警告的警告。