vue中前端代理跨域問(wèn)題實(shí)例總結(jié)
前言
這幾天在學(xué)習(xí)vue進(jìn)行前后端交互時(shí)出現(xiàn)了跨域問(wèn)題,也是經(jīng)歷查文章查文檔和自己實(shí)踐總結(jié)才最終解決。這篇文章就對(duì)此進(jìn)行總結(jié),以防忘記,同時(shí)也希望能對(duì)正在經(jīng)歷該問(wèn)題困擾的同學(xué)們有所幫助。注意:這里講解的是vue2.x版本的方法!
第一
首先我們需要先確定我們所使用的接口名,我這里使用的自己Java后端的接口和python后端的接口
http://localhost:8081/articles/findArticlePage
http://127.0.0.1:5000//api/tryChat
可以看到我這里使用了兩個(gè)不同的端口,所有可以說(shuō)基本可以滿(mǎn)足大多數(shù)人的需求了。
在main.js文件中定義全局變量axios

Vue.prototype.$axios = axios
第二
我們通過(guò)我們所需調(diào)用的接口去改寫(xiě)config文件夾中的index.js文件

以我的為例子,先找到proxyTable,我們需要在這里去修改我們需要配置的跨域代理。

以我需要的接口為例進(jìn)行配置代理,大家可以仿照我的例子來(lái)改。


重寫(xiě)請(qǐng)求地址那里大家如果是和我一樣進(jìn)行命名的話(huà)設(shè)不設(shè)置為空都差不多。
可以看到我是根據(jù)接口的地址來(lái)寫(xiě)這個(gè)配置的名稱(chēng)的,這樣不容易出錯(cuò),血的教訓(xùn)不然弄半天都還是不成功。

至于在dev.env.js文件和prod.env.js文件的配置如下,我試了不配重啟vue項(xiàng)目也沒(méi)問(wèn)題依舊可以實(shí)現(xiàn)跨域。具體為啥沒(méi)有深入研究,各位大大佬有知道的也可以指點(diǎn)一二。
dev.env.js

prod.env.js

第三
接下來(lái)就可以去對(duì)后端進(jìn)行請(qǐng)求了,這是我寫(xiě)的例子。


這里只是總結(jié)跨域的書(shū)寫(xiě)與經(jīng)驗(yàn),其他就不過(guò)多展示了。這樣一套操作下來(lái)基本就解決了大多數(shù)人的需求了,我也是試了很多次才實(shí)現(xiàn)的,我看網(wǎng)上大多的教程都很死板的,遂自我總結(jié)一下我的經(jīng)驗(yàn)和方法。我自己覺(jué)得最好是取得名字和接口中的有所對(duì)應(yīng)比較容易成功。
代碼
當(dāng)然啦,我還是準(zhǔn)備了一下代碼讓大家可以直接cv ,方便快捷
'/articles': {
// websocket
ws: false,
// 目標(biāo)地址
target: 'http://localhost:8081/',
//發(fā)送請(qǐng)求頭host會(huì)被設(shè)置target
changeOrigin: true,
// 重寫(xiě)請(qǐng)求地址
pathReWrite: {
'^/articles': '/articles'
}
},
// prod.env.js
module.exports = {
NODE_ENV: '"production"',
api: '"http://127.0.0.1:5000/"',
articles:'"http://localhost:8081/"',
}
// dev.env.js
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
api: '"/api/"',
articles: '"/articles/"'
})好了,總結(jié)完畢,大家如果出現(xiàn)其他問(wèn)題或者還是沒(méi)看太懂的也可以問(wèn)我,我一定會(huì)盡力解答,當(dāng)然前提是我懂。
總結(jié)
到此這篇關(guān)于vue中前端代理跨域問(wèn)題的文章就介紹到這了,更多相關(guān)vue前端代理跨域問(wèn)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3.3?+?TS4構(gòu)建實(shí)現(xiàn)ElementPlus功能的組件庫(kù)示例
Vue.js?是目前最盛行的前端框架之一,而?TypeScript?則是一種靜態(tài)類(lèi)型言語(yǔ),它能夠讓開(kāi)發(fā)人員在編寫(xiě)代碼時(shí)愈加平安和高效,本文將引見(jiàn)如何運(yùn)用?Vue.js?3.3?和?TypeScript?4?構(gòu)建一個(gè)自主打造媲美?ElementPlus?的組件庫(kù)2023-10-10
vue?路由跳轉(zhuǎn)打開(kāi)新窗口被瀏覽器攔截問(wèn)題處理
這篇文章主要介紹了vue?路由跳轉(zhuǎn)打開(kāi)新窗口被瀏覽器攔截問(wèn)題處理,下面文章操作中所遇到相關(guān)問(wèn)題解決的內(nèi)容介紹詳細(xì),需要的小伙伴可以參考一下2022-03-03
Vue利用watch偵聽(tīng)器模擬實(shí)現(xiàn)翻譯功能
本期將會(huì)介紹 Vue 中的 watch 偵聽(tīng)器,它語(yǔ)法是怎么樣的呢?具有怎樣的功能呢?最后用模擬實(shí)現(xiàn)百度翻譯來(lái)更進(jìn)一步練習(xí) watch 偵聽(tīng)器,需要的朋友可以參考下2024-11-11
Vue源碼學(xué)習(xí)記錄之手寫(xiě)vm.$mount方法
在我們開(kāi)發(fā)中,經(jīng)常要用到Vue.extend創(chuàng)建出Vue的子類(lèi)來(lái)構(gòu)造函數(shù),通過(guò)new 得到子類(lèi)的實(shí)例,然后通過(guò)$mount掛載到節(jié)點(diǎn),今天通過(guò)本文給大家講解手寫(xiě)vm.$mount方法 ,感興趣的朋友一起看看吧2022-11-11
Vue3.2?setup語(yǔ)法糖及Hook函數(shù)基本使用
這篇文章主要為大家介紹了Vue3.2?setup語(yǔ)法糖及Hook函數(shù)基本使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Vue動(dòng)態(tài)組件實(shí)現(xiàn)異常處理方法
Vue3動(dòng)態(tài)組件怎么進(jìn)行異常處理?下面本篇文章帶大家聊聊Vue3 動(dòng)態(tài)組件異常處理的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-02-02

