vue-cli3下將請求地址的配置檔案分離出來以便於打包後可動態修改請求地址;
基本思路:
1.在public檔案下新建serverConfig.json
`{
“production”:”https://www.easy-mock.com/mock/5bd2d48f3e503e20f0011196/testUrl”,
“develop”:”https://www.easy-mock.com/mock/5bd2d48f3e503e20f0011196/testUrl”
}`;
2.在main.js中請求serverConfig.json檔案,
`function getServerConfig () {
return new Promise ((resolve, reject) => {
axios.get(`./serverConfig.json`).then((result) => {
let config = result.data;
let ajaxUrl = process.env.NODE_ENV == `production` ? config.production:config.develop;
Vue.prototype.$ajaxUrl=ajaxUrl; //設定全域性
store.commit(`setAjaxUrl`,ajaxUrl);//儲存到vuex中
resolve();
}).catch((error) => {
console.log(error)
reject()
})
})
}
async function init() {
await getServerConfig();
new Vue({
router,
store,
render: h => h(App),
}).$mount(`#app`)
}
init();
`
請求路徑就直接用$ajaxUrl就可以了。
只所以儲存到vuex中,是因為,如果你封裝了request請求,無法直接獲取到請求的地址,也無法用到全域性$ajaxUrl,只能從vuex中獲取,如果沒有封裝,直接用$ajaxUrl就可以