本地开发中因为需要使用代理模式跨域访问本地后台项目的接口,所以请求会多一个前缀“api”如:
this.axios.post("/api/test/testTreeNodeByPid",{pid:0})
在npm run build 编译之后的js也会带这个前缀,一开始我是手动批量更换js中的这个前缀,后面百度了一种简便的方法,可以根据npm run dev或者build来使axios采用不同前缀;
方法如下:
1、分别在config/dev.env.js和prod.env.js增加一个全局变量API_ROOT,如图:
2、在main.js实例axios的地方根据当前环境变量设置不同前缀,如下图:
3、完成,run dev 会主动加上api前缀,run build则不会
记得把原来代码里的前缀去掉