怎么把axios里面baseURL 打包的项目的外面能在外部更改
之前一直因为axios里面的baseURL 是只能在开发环境下去修改的, 后来提出这个需求,借助万能的百度, 实现了在外部修改的这个事情; 直接上代码:
在public 的里面去 添加一个serverConfig.json 的文件 输入你的basueURL 地址
第二步 : 在mai.js里面:
function getServerConfig() {
return new Promise((resolve, reject) => {
axios.get('./serverConfig.json').then((result) => {
console.log(result) // 看打印出来的结果
let config = result.data;
for (let key in config) {
Vue.prototype[key] = config[key];
}
console.log(config,"配置");//这里 打印出来的是baseURL
// console.log(Vue.prototype.baseURL,"77777") // 验证是否已经把属性挂在了Vue上
resolve();
}).catch((error) => {
console.log(error);
reject()
})
})
}
async function init() {
await getServerConfig();
new Vue({
router,
store,
render: h => h(App)
}).$mount("#app");
}
init();
第三步 因为我这里是把所有的axios 给处理到单独的一个api 文件夹里面
功能我在实现的时候 一开始是让这个vue实例上的baseURL =axios 的baseURL 但是发送过程中,出现问题. 所以统一改成了vue.prototype.baseurl 去实现的.
按照正常逻辑来, axios.default.baseURL = vue.prototype.baseURL 是能实现的.
在这里 特别感谢https://www.jianshu.com/p/ed6ea9a4aeda 这位大佬的博客,写的非常的好/. 解决了我的问题