项目初始化的时候,通常默认会有两个版本,开发环境和生产环境,
开发环境下:NODE_ENV=development(默认)
生产环境下:NODE_ENV=production(默认)
生产环境下,给测试测的时候,要请求测试环境的API;等测试环境没啥问题的时候,发布到正式,这时候要请求的API是正式环境的。那么生产环境下可能需要两种情况的打包命令,开发环境也一样(每次手动去改api,这样也可以,但是很累啊)
那么,我们可以在package.json中给NODE_ENV添加新值
vue-cli3初始化的项目里,package.json中是这样的
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
如果实现刚才的需求,我们可以这样做:
"serve": "NODE_ENV='test' vue-cli-service serve",
"serve:pro": "NODE_ENV='production' vue-cli-service serve",
"build": "NODE_ENV='test' vue-cli-service build",
"build:pro": "NODE_ENV='production' vue-cli-service build",
"lint": "vue-cli-service lint"
然后配置api的地方
if( process.env.NODE_ENV === 'test' ){
apiUrl = '测试环境的url'
}else{
apiUrl = '正式环境的url'
}