'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。