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

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

