'production' | 'development' | 'none'
>= 1.0.0
指定 Rsbuild 构建的模式,各个模式默认的行为和优化不同,比如 production
模式默认会压缩代码。
Rsbuild mode
的值也会传递给 Rspack 的 mode 配置。
mode
的值不会影响 .env
文件的加载结果, 因为 .env
文件早于 Rsbuild 的配置文件被解析。
Rsbuild CLI 支持使用 --env-mode
选项来指定 env 模式,详见 "Env 模式"。
mode
的默认值取决于 process.env.NODE_ENV
环境变量:
NODE_ENV
为 production
,则默认值为 production
。NODE_ENV
为 development
,则默认值为 development
。NODE_ENV
为其他值,则默认值为 none
。如果你设置了 mode
的值,则 NODE_ENV
的值会被忽略。
当你使用 Rsbuild 的命令行时:
rsbuild dev
会将 NODE_ENV
和 mode
的默认值设置为 development
。rsbuild build
和 rsbuild preview
会将 NODE_ENV
和 mode
的默认值设置为 production
。当你使用 Rsbuild 的 JavaScript API 时:
NODE_ENV
和 mode
的默认值设置为 development
。NODE_ENV
和 mode
的默认值设置为 production
。当 mode
的值为 development
时:
process.env.NODE_ENV
会被替换为 'development'
。import.meta.env.MODE
会被替换为 'development'
。import.meta.env.DEV
会被替换为 true
。import.meta.env.PROD
会被替换为 false
。当 mode
的值为 production
时:
process.env.NODE_ENV
会被替换为 'production'
。import.meta.env.MODE
会被替换为 'production'
。import.meta.env.DEV
会被替换为 false
。import.meta.env.PROD
会被替换为 true
。当 mode
的值为 none
时:
process.env.NODE_ENV
不会被替换。import.meta.env.MODE
会被替换为 'none'
。import.meta.env.DEV
会被替换为 false
。import.meta.env.PROD
会被替换为 false
。