在Vue中配置代理服務(wù)器的方法詳解
大家既然能看到這個視頻,說明大家對跨域已經(jīng)有了一定的理解,所以這里就不花功夫?qū)缬蜻M行詳細的介紹了
1. 首先擴展一點,axios在本地發(fā)送的請求如果你不把路徑寫全,它都是會默認加上自己項目所在的端口,就比如說
axios.get('/student')
axios.get('/teacher')點擊發(fā)送按鈕后,以上兩行代碼實際為
http://localhost:8081/student http://localhost:8081/teacher
其中l(wèi)ocalhost:8081為自己項目所在的地址。
2.代理服務(wù)器是如何解決跨域的?

由此我們可以借助axios發(fā)送請求時,會默認發(fā)送給本地的特性來解決跨域問題
3.如何在vue中配置代理服務(wù)器,代碼十分簡單。
devServer: { //開啟代理服務(wù)器 (方式1) 配置多個代理
proxy: {
'/api': { //'/api'是自行設(shè)置的請求前綴
target: 'http://localhost:5000',
pathRewrite:{'^/api':''}, //路徑重寫,(正則)匹配以api開頭的路徑為空(將請求前綴刪除)
ws: true,//用于支持websocket
changeOrigin: true //用于控制請求頭中的host值
},
}上述代碼中,我配置一個匹配所有前綴為/api的請求,也就是所有以/api為頭的請求都會走我上面配置的代理,向http://localhost:5000這個服務(wù)器發(fā)送請求。但是最前面我寫的兩個接口為‘/student’和‘/teacher’,他們并不會走代理。
4. 如何解決呢?
我們可以利用axios的二次封裝,給所有的請求都添加上/api這個前綴(這個前綴是可以隨意命名的)
const requests = axios.create({
//配置對象
//基礎(chǔ)路徑,在發(fā)送請求時,路徑當中會出現(xiàn)api
baseURL:'/api',
//代表請求超時的時間
timeout:5000
});此時我們點擊按鈕發(fā)送的請求為
http://localhost:8081/api/student http://localhost:8081/api/teacher
通過代理服務(wù)器的target屬性加工之后我們原先的請求就變?yōu)榱?/p>
http://localhost:5000/api/student http://localhost:5000/api/teacher
也就是把/api前的路徑換成了目標服務(wù)器的地址。因為/api這個前綴是我們自己添加的,所以需要用到pathRewrite 來將/api重寫為‘’(空)
http://localhost:5000/student http://localhost:5000/teacher
這時,我們就可以正常獲取數(shù)據(jù)了。
注意:如果在開發(fā)中,我們拿到的所有請求有共同的前綴,那么我們可以省略給所有接口統(tǒng)一加上/api這一步操作。
當然還有更加簡潔的做法,讓所有的請求都走代理,而并不去匹配請求的前綴。
devServer:{
proxy:'http://localhost:5000' //開啟代理服務(wù)器 (方式2) 5000端口指的是要向5000端口發(fā)送請求
},但是這樣會有缺陷,如果你請求的資源本地就有,他會直接返回本地的數(shù)據(jù),而不會向服務(wù)器發(fā)送請求,所以建議大家還是用方式1,雖然麻煩,但是可以配置多個代理,也不會出現(xiàn)資源直接從本地返回的情況。
總結(jié)
到此這篇關(guān)于在Vue中配置代理服務(wù)器的文章就介紹到這了,更多相關(guān)Vue配置代理服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue中瀑布流布局與圖片加載優(yōu)化的實現(xiàn)
本文主要介紹了Vue中瀑布流布局與圖片加載優(yōu)化的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06
vue+webpack模擬后臺數(shù)據(jù)的示例代碼
這篇文章主要介紹了vue+webpack模擬后臺數(shù)據(jù)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Vue中控制v-for循環(huán)次數(shù)的實現(xiàn)方法
今天小編就為大家分享一篇Vue中控制v-for循環(huán)次數(shù)的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09

