create-react-app 除了NODE_ENV如何区分环境变量
比如webpack打包的时候,可能要打包到测试环境或者生产环境,但是这时候NODE_ENV的值都是production ,这个时候如何区分呢。
答案是:
答案是:
cross-env和
webpack.DefinePlugin
1. 定义环境变量到编译环境:
- 测试环境:
cross-env NODE_STAGE=test npm run build
- 预上线:
cross-env NODE_STAGE=stage npm run build
- 线上环境:
cross-env NODE_STAGE=prod npm run build
2. 通过环境变量为运行环境定义全局常量:
plugins: [ new webpack.DefinePlugin({ "process.env.NODE_ENV": process.env.NODE_ENV, "process.env.NODE_STAGE": process.env.NODE_STAGE, }) ]
2. 使用全局常量
const nodeStage = process.env.NODE_STAGE;
console.log(nodeStage)