這期內容當中小編將會給大家帶來有關利用vue怎么對服務器端的請求接口地址進行修改,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一個項目可能有很多環境,開發,測試,預生產,生產等環境,如果每一個環境都需要重新打包會顯得比較麻煩,那么如何解決這個問題呢
在vue和uniapp中以及其他框架下的都是可以按照如下操作來解決的
在靜態資源下新建一個env.json,vue項目是在public文件下新建,uniapp是在static下新建文件
文件格式如下
{ "name": "development", "base": "/customer" }
name,代表的是環境,方便直接在服務器上查看當前是什么環境的,base是請求的地址,如果服務器沒有做代理的話,這里的base應該是完整的請求地址http:// xxxxx.com/customer,類似這種
一般人在處理的時候總是獲取不到這個env.json里的地址,是因為,這里是因為異步導致的,如果要解決的話,可以在main.js或者是main.ts中如何操作
axios.get('./env.json') .then(function (res: any) { // handle success Vue.prototype.BASE_URL = res.data.base; new Vue({ router, store, render: h => h(App) }).$mount('#app') })
這樣有個問題就是一定是在請求這個json成功之后項目才會開始渲染的,這個時間可以做一個加載動畫,請求應該是很快的,如果請求失敗,你可以在axios里做一個catch操作,給一個友好的提示什么的,進行重新請求
那么如何獲取了?
可以在攔截器中進行獲取然后拼接請求地址
在攔截器的那個js文件中
function getBaseUrl() { return Vue.prototype.BASE_URL } 最后在傳入url的時候進行拼接,如下 url: getBaseUrl() + opts.url, // opts是傳過來的參數對象
上述就是小編為大家分享的利用vue怎么對服務器端的請求接口地址進行修改了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。