项目初始化的时候,通常默认会有两个版本,开发环境和生产环境,

开发环境下: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'
}

更多推荐

自定义process.env.NODE_ENV的值