React:生产构建的环境特定配置

React: Environment Specific Config on Production Builds

我公司使用三种标准环境:开发、测试和生产。我基于 create-react-app 的应用程序作为内容项托管在我们的 CMS 中,因此要将其放入任何环境,我需要 运行 npm run build 命令。

我创建了一个文件 config.js,它根据 process.env 中的变量导出不同的配置对象,但这里的默认行为有一个限制,即 npm run build 总是考虑生产。这是有道理的,我只需要不同的行为。

我想要做的是 运行 一个像 npm run build:dev 等的脚本,它设置了一个我可以打开的 process.env 变量。本质上我需要创建一个设置 dotenv 变量的 npm 脚本,然后调用 npm run build.

完成此任务的最佳方法是什么?

您可以使用跨环境包(来自 npm)来定义环境变量。

只需安装软件包:

npm install --save-dev cross-env

并在定义变量的位置创建自定义脚本,例如:

{
  "scripts": {
    "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
  }
}

它对我的项目非常有效。

这里有更多信息cross-env