CssExtractRspackPlugin
Rspack 目前不兼容 mini-css-extract-plugin,但可以使用 CssExtractRspackPlugin 替代,它可以和 css-loader 搭配使用,用于将 CSS 提取成单独文件。
如果你的项目不依赖于 css-loader 和 mini-css-extract-plugin,我们更推荐使用 Rspack 内置的 CSS 解决方案,它的性能更好。
示例
使用 CssExtractRspackPlugin 时,需要在 plugins 中注册插件,并在 module.rules 中注册 CssExtractRspackPlugin.loader。
通过 splitChunks 拆分提取出的 CSS
CssExtractRspackPlugin 会为提取出的 CSS 模块添加 css/mini-extract 模块类型。你可以使用 splitChunks.cacheGroups.{cacheGroup}.type 创建一个只命中 CssExtractRspackPlugin 提取出的 CSS 的 cache group,而不会命中 JavaScript 模块或内置 CSS 模块。
在这个例子中,extractedCss 只会选择模块类型为 css/mini-extract 的模块。enforce: true 会让 CSS chunk 即使在普通 minSize 或请求数限制启发式规则下会被跳过时也被创建;如果希望该 cache group 遵循普通 splitChunks 启发式规则,可以移除 enforce。
Plugin 选项
CssExtractRspackPlugin 插件的选项。
- Types:
Loader 选项
CssExtractRspackPlugin.loader 的选项。
- Types:
注意事项
当同时使用内置 CSS 和 CssExtractRspackPlugin 时,推荐显式手动给 CssExtractRspackPlugin.loader 的 type 设置成 javascript/auto。
例如:

