vue設(shè)置代理不起作用問(wèn)題及解決
vue設(shè)置代理不起作用
使用vue寫(xiě)前端界面時(shí),需調(diào)用后端接口展現(xiàn)查詢的數(shù)據(jù),于是設(shè)置代理實(shí)現(xiàn)跨域,在config/index.js中添加代理,代碼如下:
proxyTable:{
// 匹配 /dev-api 開(kāi)頭的請(qǐng)求, 比如:A網(wǎng)站:https://localhost:8888 中的index.html 頁(yè)面發(fā)送AJax請(qǐng)求:/dev-api/data.json
'dev-api': {
target:'http://localhost:3001',
// 開(kāi)啟代理:在本地會(huì)創(chuàng)建一個(gè)虛擬服務(wù)端,然后發(fā)送請(qǐng)求的數(shù)據(jù),
// 并同時(shí)接收請(qǐng)求的數(shù)據(jù),這樣服務(wù)端和服務(wù)端進(jìn)行數(shù)據(jù)的交互就不會(huì)有跨域問(wèn)題
changOrigin: true, //開(kāi)啟代理
pathRewrite: {
"^/dev-api": ''
}
}
},
運(yùn)行后發(fā)現(xiàn)報(bào)錯(cuò)404

測(cè)試后端接口無(wú)問(wèn)題,著重看代理部分代碼,百度后發(fā)現(xiàn) “dev-api"前面應(yīng)加”/",
否則會(huì)出現(xiàn)上述錯(cuò)誤。
完整代碼如下:
proxyTable:{
// 匹配 /dev-api 開(kāi)頭的請(qǐng)求, 比如:A網(wǎng)站:https://localhost:8888 中的index.html 頁(yè)面發(fā)送AJax請(qǐng)求:/dev-api/data.json
'/dev-api': {
target:'http://localhost:3001',
// 開(kāi)啟代理:在本地會(huì)創(chuàng)建一個(gè)虛擬服務(wù)端,然后發(fā)送請(qǐng)求的數(shù)據(jù),
// 并同時(shí)接收請(qǐng)求的數(shù)據(jù),這樣服務(wù)端和服務(wù)端進(jìn)行數(shù)據(jù)的交互就不會(huì)有跨域問(wèn)題
changOrigin: true, //開(kāi)啟代理
pathRewrite: {
"^/dev-api": ''
}
}
},
除此之外,修改代理后應(yīng)重啟一下,否則修改內(nèi)容不生效。
vue配置代理方式
正向代理配置
環(huán)境配置文件 .env.development
ENV = 'development' VUE_APP_BASE_API="/dev-api"
vue配置文件 vue.config.js
devServer: {
? ? proxy:'http://localhost:8080'//所有的接口請(qǐng)求都會(huì)被代理到這個(gè)路徑上
},
devServer: {
? ? proxy:{
? ? ? ? '/dev-api':{//只要是這個(gè)路徑下的請(qǐng)求都會(huì)被代理到target中
? ? ? ? ? ? target:'http://localhost:8888',
? ? ? ? ? ? pathRewrite:{'^/dev-api':''}//路徑重寫(xiě):/dev-api路徑將不會(huì)出現(xiàn),如果改成'^/dev-api':'test',則重寫(xiě)的路徑/dev-api會(huì)變成test
? ? ? ? }
? ? }
},注意點(diǎn):使用正向代理時(shí),不要手動(dòng)的寫(xiě)全路徑,不要手動(dòng)的寫(xiě)全路徑,不要手動(dòng)的寫(xiě)全路徑,(重要的事情說(shuō)三遍)寫(xiě)了全路徑則代理失效
全路徑:http://localhost:8080 即:協(xié)議、域名、端口
只要寫(xiě)一個(gè)代理路徑即可:VUE_APP_BASE_API =/dev-api
環(huán)境變量配置文件
你可以在你的項(xiàng)目根目錄中放置下列文件來(lái)指定環(huán)境變量:
.env ? ? ? ? ? ? ? ?# 在所有的環(huán)境中被載入 .env.local ? ? ? ? ?# 在所有的環(huán)境中被載入,但會(huì)被 git 忽略 .env.[mode] ? ? ? ? # 只在指定的模式中被載入 .env.[mode].local ? # 只在指定的模式中被載入,但會(huì)被 git 忽略 # mode 代表環(huán)境變量:development、production和test。不同的文件名在不同的環(huán)境下自動(dòng)生效
請(qǐng)注意,只有 NODE_ENV,BASE_URL 和以 VUE_APP_ 開(kāi)頭的變量將通過(guò) webpack.DefinePlugin 靜態(tài)地嵌入到客戶端側(cè)的代碼中。
這是為了避免意外公開(kāi)機(jī)器上可能具有相同名稱(chēng)的私鑰。
目錄
.env.production//生產(chǎn)環(huán)境配置 .env.develoption//開(kāi)發(fā)環(huán)境配置
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
el-select 點(diǎn)擊按鈕滾動(dòng)到選擇框頂部的實(shí)現(xiàn)代碼
本文通過(guò)實(shí)例代碼給大家分享el-select 點(diǎn)擊按鈕滾動(dòng)到選擇框頂部效果,主要代碼是在visibleChange在這個(gè)popper里面找到.el-select-dropdown__list,感興趣的朋友跟隨小編一起看看吧2024-05-05
vue實(shí)現(xiàn)點(diǎn)擊出現(xiàn)操作彈出框的示例
這篇文章主要介紹了vue實(shí)現(xiàn)點(diǎn)擊出現(xiàn)操作彈出框的示例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-11-11
VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁(yè)面同時(shí)更新的實(shí)現(xiàn)方法
這篇文章主要介紹了VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁(yè)面同時(shí)更新的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
vue3應(yīng)用elementPlus table并滾動(dòng)顯示問(wèn)題
這篇文章主要介紹了vue3應(yīng)用elementPlus table并滾動(dòng)顯示問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
Vue3實(shí)現(xiàn)列表無(wú)限滾動(dòng)的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何使用Vue3實(shí)現(xiàn)列表無(wú)限滾動(dòng)的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-07-07
vue-cli中vue本地實(shí)現(xiàn)跨域調(diào)試接口
這篇文章主要介紹了vue-cli中vue本地實(shí)現(xiàn)跨域調(diào)試接口,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Vite創(chuàng)建項(xiàng)目的實(shí)現(xiàn)步驟
隨著 Vite2 的發(fā)布并日趨穩(wěn)定,現(xiàn)在越來(lái)越多的項(xiàng)目開(kāi)始嘗試使用它。本文我們就介紹了Vite創(chuàng)建項(xiàng)目的實(shí)現(xiàn)步驟,感興趣的可以了解一下2021-07-07
vue?+?electron應(yīng)用文件讀寫(xiě)操作
這篇文章主要介紹了vue?+?electron應(yīng)用文件讀寫(xiě)操作,如果要制作的應(yīng)用并不復(fù)雜,完全可以將數(shù)據(jù)存儲(chǔ)在本地文件當(dāng)中,然后應(yīng)用就可以通過(guò)這些文件進(jìn)行數(shù)據(jù)的讀寫(xiě),需要的朋友參考下吧2022-06-06
如何使用vue開(kāi)發(fā)公眾號(hào)網(wǎng)頁(yè)
因?yàn)轫?xiàng)目需要,近期做了一個(gè)公眾號(hào)網(wǎng)頁(yè)開(kāi)發(fā)。在此期間也踩了一些坑,解決這些坑之后,準(zhǔn)備對(duì)這個(gè)項(xiàng)目進(jìn)行復(fù)盤(pán)。記錄下項(xiàng)目從開(kāi)發(fā)到上線所解決的問(wèn)題,并對(duì)使用vue進(jìn)行公眾號(hào)開(kāi)發(fā)的步驟進(jìn)行一個(gè)總結(jié)。方便以后有問(wèn)題進(jìn)行查閱。希望對(duì)你有所幫助2021-05-05

