vue2中vue.config.js簡(jiǎn)單配置代理跨域的方法
前言
調(diào)用后端接口訪問(wèn)后臺(tái)數(shù)據(jù),但是因?yàn)檎?qǐng)求url的協(xié)議、域名、端口三者之間任意一個(gè)與當(dāng)前頁(yè)面url不同產(chǎn)生了跨域,我們vue項(xiàng)目運(yùn)行的地址一般就是localhost 8080端口,而且后端也沒(méi)有配置允許跨域(后端如果配置跨域通常是cors),所以前端就要配置跨域,Vue跨域在vue.config.js文件里配置。
代理跨域的解決方法
方法一:
后端大哥來(lái)解決,讓前端存在跨域問(wèn)題也可以正常訪問(wèn)接口
方法二:配置代理跨域
在config.js文件中的devServer屬性下面的proxy屬性
devServer: { host: 'localhost',//本地地址 port: '8080',//端口號(hào) hot: true,//熱更新自動(dòng)刷新 open: true,//自動(dòng)打開(kāi) overlay: { //當(dāng)出現(xiàn)編譯錯(cuò)誤或警告時(shí),在瀏覽器中顯示全屏覆蓋。只顯示錯(cuò)誤信息不提示警告情況限制是 warning: false, error: true }, proxy: { "/api": { target: 'http://xxxxxxxxxxx.com',//代理地址 凡是使用/api changeOrigin: true,//允許跨域請(qǐng)求 secure: false, pathRewrite: { //重寫路徑 替換請(qǐng)求地址中的指定路徑 ['^/api']: '/' //將請(qǐng)求地址中的api替換為空 } } } }
/api的理解
‘/api’:是指遇到這個(gè)字符開(kāi)頭的話,在這個(gè)字符前面加上target里面的ip或者域名。
舉例:
①登錄接口:http://asdfgh:5000/login
…中間省略了配置過(guò)程…
②npm run serve:Local: http://localhost:8080/
③點(diǎn)擊后發(fā)送的登錄請(qǐng)求:http://localhost:8080/api/login
④/api 的作用就是將/api前的localhost:8080變成target的內(nèi)容http://asdfgh:5000/
⑤完整的路徑變成了http://asdfgh:5000/api/login
⑥實(shí)際接口當(dāng)中沒(méi)有這個(gè)api,所以pathwrite重寫就解決這個(gè)問(wèn)題的。
⑦pathwrite識(shí)別到api開(kāi)頭就會(huì)把/api重寫成空,那就是不存在這個(gè)/apil了,完整的路徑又變成:http://asdfgh:5000/login
詳細(xì)可以查看webpack的官方地址:DevServer | webpack
總結(jié)
到此這篇關(guān)于vue2中vue.config.js簡(jiǎn)單配置代理跨域的文章就介紹到這了,更多相關(guān)vue.config.js配置代理跨域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于vue3.0中的this.$router.replace({ path: ''/''})刷新無(wú)效果問(wèn)題
這篇文章主要介紹了關(guān)于vue3.0中的this.$router.replace({ path: '/'})刷新無(wú)效果問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01vuex提交state&&實(shí)時(shí)監(jiān)聽(tīng)state數(shù)據(jù)的改變方法
今天小編就為大家分享一篇vuex提交state&&實(shí)時(shí)監(jiān)聽(tīng)state數(shù)據(jù)的改變方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09Vue解決移動(dòng)端彈窗滾動(dòng)穿透問(wèn)題
這篇文章主要介紹了Vue解決移動(dòng)端彈窗滾動(dòng)穿透問(wèn)題的方法,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12Vue+UpLoad實(shí)現(xiàn)上傳預(yù)覽和刪除圖片的實(shí)踐
本文主要介紹了Vue+UpLoad實(shí)現(xiàn)上傳預(yù)覽和刪除圖片的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02vue子組件實(shí)時(shí)獲取父組件的數(shù)據(jù)實(shí)現(xiàn)
本文主要介紹了vue子組件實(shí)時(shí)獲取父組件的數(shù)據(jù)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12vue3?中使用?jsx?開(kāi)發(fā)的詳細(xì)過(guò)程
這篇文章主要介紹了vue3?中使用?jsx?開(kāi)發(fā),本文著重說(shuō)一下在使用 .vue 文件和 .jsx 文件在使用語(yǔ)法上的差異,需要的朋友可以參考下2022-09-09