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