通过不同命令行切换不同环境api等信息,
例如: npm run dev 调用本地环境api
npm run test 调用测试环境api
npm run build 调用线上环境api
(1)先在package.json文件中添加:
"test": "vue-cli-service build --mode test"
(2)在项目目录下建立 .env文件和.env.test文件 (是文件,不是js)
.env文件
NODE_ENV = 'production'
VUE_APP_FLAG = 'pro'
.env.test文件(outputDir:打包时的输出目录名字,若需默认输出到dist目录,则可不写该变量)
NODE_ENV = 'production'
VUE_APP_FLAG = 'test'
outputDir = test
在vue.config.js文件中添加:
outputDir: process.env.outputDir,
(3)在main.js文件中配置api变量
/*第一层if判断生产环境和开发环境*/
if (process.env.NODE_ENV === 'production') {
/*第二层if,根据.env文件中的VUE_APP_FLAG判断是生产环境还是测试环境*/
if (process.env.VUE_APP_FLAG === 'pro') {
//production 生产环境
axios.defaults.baseURL = 'http://api.xinggeyun.com';
} else {
//test 测试环境
axios.defaults.baseURL = 'http://192.168.0.152:8102';
}
} else {
//dev 开发环境
axios.defaults.baseURL = 'http://192.168.0.152:8102';
}
npm run test后,即可在目录文件中看到test文件