此插件使用 lightningcss 來最小化 CSS 資源。請參閱 optimization.minimizer。
string | RegExp | (string | RegExp)[]
undefined
使用此選項指定應最小化的檔案,它會比對輸出檔案的路徑。
string | RegExp | (string | RegExp)[]
undefined
使用此選項指定應排除最小化的檔案,它會比對輸出檔案的路徑。
string | RegExp | (string | RegExp)[]
undefined
使用此選項提供一個模式,用於比對 CSS 檔案。如果輸出檔名符合給定的模式,則將其最小化,否則不會。
boolean
true
是否自動移除 CSS Modules 中未使用的本地識別符,包括未使用的 CSS 類別名稱、ID 和 @keyframe 名稱。這些宣告將被移除。
例如,在以下 CSS Modules 中,類別名稱 a 和 b 已匯出,但只有類別名稱 a 在 js 檔案中使用
此時,將透過 Rspack 的 tree shaking 功能取得類別名稱 b 未使用的資訊,並提供給 lightningcss。在最小化期間,類別名稱 b 的宣告將從 CSS 輸出中移除,產生以下最終輸出
傳遞給 Lightning CSS 以進行最小化的設定。
以下是支援的設定,targets
設定是純粹的 browserslist 查詢,其他詳細用法請參閱 Lightning CSS 文件
targets
設定為 "fully supports es6"
,以確保最小化不會引入可能導致瀏覽器不相容的進階語法 (最小化可能會將較低階的語法轉換為進階語法,因為它更短)。exclude
選項預設設定為所有功能。我們通常在 builtin:lightningcss-loader 或其他 loaders 中進行語法降級,因此此插件預設排除所有功能,以避免在最小化過程中發生語法降級。我們建議並鼓勵使用者設定自己的 targets
,以達到最佳的最小化效果。