答案是:
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)