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
我公司使用三种标准环境:开发、测试和生产。我基于 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