Vue項目前后端聯調(使用proxyTable實現跨域方式)
vue本地項目調試線上接口出現跨域問題
使用方法:vue在配置文件中提供了proxyTable來設置跨域,在config文件夾的index.js文件中
dev: { //開發(fā)環(huán)境下 // 靜態(tài)資源文件夾 assetsSubDirectory: 'static', // 發(fā)布路徑 assetsPublicPath: '/', // 代理配置表,在這里可以配置特定的請求代理到對應的API接口 // 例如將'localhost:8080/api/xxx'代理到'http://xxxxxxx.com/xxx' proxyTable: { '/api': { target: 'http://xxxxxx.com', // 接口的域名 // secure: false, // 如果是https接口,需要配置這個參數 changeOrigin: true, // 如果接口跨域,需要進行這個參數配置 pathRewrite: { '^/api': '', // 這種接口配置出來 http://xxxxxx.com:8080/xxx } } } }
關于pathRewrite中'^/api'的作用:
用代理, 首先你得有一個標識, 告訴他你這個連接要用代理. 不然的話, 可能你的 html, css, js這些靜態(tài)資源都跑去代理. 所以我們只要接口用代理, 靜態(tài)文件用本地。
'/api': {}, 就是告訴node, 我接口只要是'/api'開頭的才用代理.所以你的接口就要這么寫 /api/xx/xx. 最后代理的路徑就是 http://xxxxxx.com/api/xx/xx.
可是不對啊, 我正確的接口路徑里面沒有/api啊. 所以就需要 pathRewrite,用''^/api'':'', 把'/api'去掉, 這樣既能有正確標識, 又能在請求接口的時候去掉api
補充知識:vue2./vue.3.x實現跨域(proxytable/proxy)
vue2.x
config/index.js
proxyTable: { '/api': { target: 'http://localhost:3000/', // 請求的接口的域名 // secure: false, // 如果是https接口,需要配置這個參數 changeOrigin: true, // 如果接口跨域,需要進行這個參數配置 pathRewrite: { '^/api': '' } } },
vue3.x
vue.config.js
module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:8080/', changeOrigin: true, ws: true, pathRewrite: { '^/api': '/static/mock' } } } } }
以上這篇Vue項目前后端聯調(使用proxyTable實現跨域方式)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue3中unplugin-auto-import自動引入示例代碼
unplugin-auto-import 這個插件是為了解決在開發(fā)中的導入問題,下面這篇文章主要給大家介紹了關于vue3中unplugin-auto-import自動引入的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02Vue集成three.js并加載glb、gltf、FBX、json模型的場景分析
這篇文章主要介紹了Vue集成three.js,并加載glb、gltf、FBX、json模型,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09el-select 數據回顯,只顯示value不顯示lable問題
這篇文章主要介紹了el-select 數據回顯,只顯示value不顯示lable問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09Vue3?Watch踩坑實戰(zhàn)之watch監(jiān)聽無效
Vue.js中的watch選項用于監(jiān)聽Vue實例上某個特定的數據變化,下面這篇文章主要給大家介紹了關于Vue3?Watch踩坑實戰(zhàn)之watch監(jiān)聽無效的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-05-05