vue部署包可配置后臺(tái)接口地址的方法
有時(shí)候一個(gè)部署包可能要應(yīng)用于不同服務(wù)器,這就需要頻繁更換后臺(tái)地址。
由此引申出了部署包可直接配置后臺(tái)地址的需求,這樣就不需要頻繁打包了。
方法
1. public 新增 config.js 文件(會(huì)被惡意修改地址,不安全)
public 文件夾下的文件是不會(huì)被打包
// public/config.js
window.CUSTOM_CONFIG = {
BASE_URL: 'http://localhost:9001', // 后臺(tái)接口地址
}
同個(gè)文件夾下的index.html文件的head標(biāo)簽內(nèi)引入config.js
<script src="<%= BASE_URL %>config.js" type='text/javascript'></script>
然后在需要的地方引入,如 axios 封裝的request.js文件:
const config = {
baseURL: window.CUSTOM_CONFIG.BASE_URL, // 引入 config.js 的配置
timeout: 550000,
}
service = axios.create(config);2. public 新增一個(gè) json 文件存放地址
// config.json
{
"BASE_URL": "http://localhost:9001"
}
然后在 axios 封裝的request.js文件下通過(guò)XMLHttpRequest獲取
(網(wǎng)上有一些是直接用axios獲取,但是我這里要同步操作,不然還沒(méi)返回?cái)?shù)據(jù)代碼已經(jīng)執(zhí)行到下面去了,只能用XMLHttpRequest來(lái)獲取)
// request.js
let xmlhttp = new XMLHttpRequest();
xmlhttp.open('get', './config.json', false);
xmlhttp.send(null);
let BASE_URL = JSON.parse(xmlhttp.responseText).BASE_URL;
let service = {};
const config = {
baseURL: BASE_URL,
timeout: 550000,
}
service = axios.create(config);但是這樣瀏覽器會(huì)出現(xiàn)提示,搜了一下說(shuō)這個(gè)不會(huì)有什么影響?(強(qiáng)迫癥可能會(huì)看著不爽)

出現(xiàn)的問(wèn)題
神奇的是根據(jù)上一篇文章“vue項(xiàng)目部署到IIS”部署到另一臺(tái)服務(wù)器的時(shí)候,居然失敗了!顯示“跨域”。搜了好久發(fā)現(xiàn)好多文章都是一樣的設(shè)置,后面讓后臺(tái)加了跨域的設(shè)置才成功了!

然后另一個(gè)問(wèn)題出現(xiàn)了?。?!
用ip地址訪問(wèn)的時(shí)候,后臺(tái)接口地址還是顯示localhost,不會(huì)自動(dòng)切換到ip訪問(wèn)地址。
解決方案: 如果 ip 地址訪問(wèn)的時(shí)候,要將config.json里面的后臺(tái)接口地址改成 ip 訪問(wèn)的地址才可以(這樣不管是localhost還是ip地址都可以訪問(wèn)到)
個(gè)人猜測(cè): 出現(xiàn)這樣的原因是從json文件里獲取的是字符串,地址相當(dāng)于寫死了,不會(huì)自動(dòng)匹配成相應(yīng)的IP地址(個(gè)人見(jiàn)解,歡迎指正?。?/p>

到此這篇關(guān)于vue部署包可配置后臺(tái)接口地址的文章就介紹到這了,更多相關(guān)vue配置后臺(tái)接口地址內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3中reactive變量重新賦值無(wú)法響應(yīng)的3種處理方法
這篇文章主要給大家介紹了關(guān)于Vue3中reactive變量重新賦值無(wú)法響應(yīng)的3種處理方法,在Vue3中可以使用reactive函數(shù)將一個(gè)普通對(duì)象轉(zhuǎn)換為響應(yīng)式對(duì)象,需要的朋友可以參考下2023-08-08
vue3使用vue-cli引入windicss報(bào)錯(cuò)Can‘t resolve windi.css問(wèn)題
這篇文章主要介紹了vue3使用vue-cli引入windicss報(bào)錯(cuò)Can‘t resolve windi.css問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
postcss-pxtorem設(shè)置不轉(zhuǎn)換UI框架的CSS單位問(wèn)題
這篇文章主要介紹了postcss-pxtorem設(shè)置不轉(zhuǎn)換UI框架的CSS單位問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Vue3+NodeJS+Soket.io實(shí)現(xiàn)實(shí)時(shí)聊天的示例代碼
本文主要介紹了Vue3+NodeJS+Soket.io實(shí)現(xiàn)實(shí)時(shí)聊天的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Vuex中mutations與actions的區(qū)別詳解
下面小編就為大家分享一篇Vuex中mutations與actions的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Vue實(shí)現(xiàn)讓頁(yè)面加載時(shí)請(qǐng)求后臺(tái)接口數(shù)據(jù)
這篇文章主要介紹了Vue實(shí)現(xiàn)讓頁(yè)面加載時(shí)請(qǐng)求后臺(tái)接口數(shù)據(jù)2022-08-08
vue3+ElementPlus+VueCropper實(shí)現(xiàn)上傳圖片功能
文章介紹了如何在Vue3、ElementPlus和VueCropper組件中實(shí)現(xiàn)圖片上傳和裁剪功能,包括放大、縮小等操作,感興趣的朋友跟隨小編一起看看吧2025-01-01

