output.minify
- 类型:
- 默认值:
- 当 output.target 为
web或web-worker时为true。 - 当 output.target 为
node时为false。
- 当 output.target 为
用于设置是否在生产模式下开启代码压缩,以及提供选项来配置压缩工具。
默认情况下,生产模式下的 web 和 web-worker 构建产物会自动压缩 JavaScript 和 CSS,以提升页面性能。node 目标在生产构建时默认不启用压缩,除非你显式开启。
如果需要关闭压缩,可以将 minify 设置为 false;也可以通过 minify 选项的细粒度配置,控制代码压缩的行为和范围。
Rsbuild 默认使用 SWC 压缩 JS 代码,使用 Lightning CSS 压缩 CSS 代码。
示例
启用压缩
为 node 目标开启代码压缩:
禁用压缩
将 minify 设置为 false 可以禁用 JS 和 CSS 代码的压缩:
该用法通常用于代码调试和问题排查,不建议在生产模式禁用代码压缩,否则会导致页面性能显著下降。
选项
minify.js
- 类型:
boolean - 默认值:
true
是否在开启对 JavaScript 代码的压缩:
true: 在生产模式下开启压缩。false: 在所有模式下禁用压缩。'always': 在所有模式下开启压缩。
例如禁用 JavaScript 压缩:
在开发和生产模式下开启 JavaScript 压缩:
minify.jsOptions
- 类型:
Rspack.SwcJsMinimizerRspackPluginOptions - 默认值:
{}
output.minify.jsOptions 用于配置 SWC 的压缩选项,具体配置项请参考 SwcJsMinimizerRspackPlugin 文档。
例如,关闭变量和函数名的重命名:
参考 配置 SWC 了解更多。
minify.css
- 类型:
boolean - 默认值:
true
是否在开启对 CSS 代码的压缩:
true: 在生产模式下开启压缩。false: 在所有模式下禁用压缩。'always': 在所有模式下开启压缩。
例如禁用 CSS 压缩:
在开发和生产模式下开启 CSS 压缩:
minify.cssOptions
- 类型:
Rspack.LightningcssMinimizerRspackPluginOptions - 默认值: 继承 tools.lightningcssLoader 的值
output.minify.cssOptions 用于配置 Lightning CSS 的压缩选项,具体配置项请参考 LightningCssMinimizerRspackPlugin 文档。
例如,关闭 errorRecovery 选项:
当你在 tools.lightningcssLoader 中配置了一些选项时,output.minify.cssOptions 会自动继承这些选项,这样可以确保开发环境和生产环境的 CSS 代码转换行为保持一致。
切换压缩器
JS 压缩器
如果默认的 SWC 压缩器无法满足你的需求,你可以通过 tools.bundlerChain 选项来切换到其他压缩器。
例如,使用 terser-webpack-plugin 插件来切换到 Terser 或 esbuild。
- 使用 terser 压缩 JS 代码:
- 使用 esbuild 压缩 JS 代码时,需要安装
esbuild包,并设置esbuildMinify:
在使用自定义的 JS 压缩器时,minify.jsOptions 选项将不再生效。

