因为在vue-cli3.0中没有了config这个文件。在网上看了许多配置方法都是用config文件来配置。所以自己摸索了一下
首先我们想通过不同命令行切换不同环境api等信息
eg:
npm run dev 调用本地环境api
npm run test 调用测试环境api
npm run build 调用线上环境api
(1)先在package.json文件中的scripts对象中添加:
"test":"vue-cli-service build --mode test"
(2)在项目的根目录下添加文件 .env 文件和 .env.test 文件:
在.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 (process.env.NODE_ENV === 'production') { if (process.env.VUE_APP_FLAG === 'pro') { axios.defaults.baseURL = 'http://api.xinggeyun.com'; } else { axios.defaults.baseURL = 'http://192.168.0.152:8102'; } } else { //dev 开发环境 axios.defaults.baseURL = 'http://192.168.0.152:8102'; }
最后npm run test后会打包一个test的文件夹。