1、npm cross-env –save-dev
2、在package.json文件里面
"scripts": {
"build:prod": "cross-env NODE_ENV=production ENV_CONFIG=prod node build/build.js",
"build:test": "cross-env NODE_ENV=production ENV_CONFIG=test node build/build.js"
},
3、在config.js里面在添加个文件test.env.js
'use strict'
module.exports = {
NODE_ENV: '"production"', // 生产环境打包
DOMAIN: '"http://xxxx"', // 测试环境域名
ENV_CONFIG: '"test"' // 部署环境
}
3、在config.js里面修改prod.env.js
'use strict'
module.exports = {
NODE_ENV: '"production"', // 生产环境打包
DOMAIN: '"http://xxx"', // 线上生产环境域名
ENV_CONFIG: '"prod"' // 部署环境
}
4、将多环境的配置引用到config中的index.js的build中
build: {
testEnv: require('./test.env'),
prodEnv: require('./prod.env'),
....
}
5、配置webpack Plugin,在webpack.base.conf.js里面修改
DefinPlugin里面定义的必要性是 你可以在你的src 目录下的文件里直接使用process.env.NODE_ENV
// 注释原来的env 赋值
const env = config.build[process.env.ENV_CONFIG + 'Env']
plugins:[
new webpack.DefinePlugin({
'process.env': env
})
]
6、修改完毕,可以正常根据 process.env.ENV_CONFIG 来进行区分环境