vue?proxytable代理根路徑的同時增加其他代理方式
proxytable代理根路徑的同時增加其他代理
Vue 項目有一個需求,需要對根路徑 ‘/’ 進行代理,但同時還存在其余特例路徑的訪問需求 ‘/py’,例:
- 代理 /* 到 localhost:5000
- 代理 /py/*到 localhost:5001
此時,需要將特例路徑的代理寫在根路徑的前面,否則會被根路徑的代理覆蓋,無法成功進行代理:
module.exports = { dev: { proxyTable: { '/py': { target: `localhost:5001`, changeOrigin: true, pathRewrite: { '/py': '', } }, '/': { target: `localhost:5000`, // secure: true, // 是否 https changeOrigin: true, // 是否是跨域請求 } } } }
使用proxytable的路徑問題
代碼例子
proxyTable: {undefined '/list': {undefined target: 'http://api.xxxxxxxx.com', changeOrigin: true, pathRewrite: { ? '^/list': '/list' } } }
這樣我們在寫url的時候,只用寫成 /list/1 就可以代表 api.xxxxxxxx.com/list/1
proxytable的默認(rèn)pathRewrite為
pathRewrite: { ? ? ? '^/api': '' ? ? }
這樣我們在寫url的時候,寫 /api/1 就可以代表 api.xxxxxxxx.com/1
注意: '/api' 為匹配項,target 為被請求的地址,因為在 ajax 的 url 中加了前綴 '/api',而原本的接口是沒有這個前綴的,所以需要通過 pathRewrite 來重寫地址,將前綴 '/api' 轉(zhuǎn)為 '/'。如果本身的接口地址就有 '/api' 這種通用前綴,就可以把 pathRewrite 刪掉。
changeOrigin參數(shù),如果設(shè)置為true,那么本地會虛擬一個服務(wù)端接收你的請求并代你發(fā)送該請求,這樣就不會有跨域問題了。
另:proxytable只在開發(fā)環(huán)境中使用
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue在install時node-sass@4.14.1?postinstall:node?scripts/buil
最近在npm install 的時候遇到了個問題,所以給大家總結(jié)下,下面這篇文章主要給大家介紹了關(guān)于vue在install時node-sass@4.14.1?postinstall:node?scripts/build.js錯誤的解決方法,需要的朋友可以參考下2023-05-05vue項目打包之開發(fā)環(huán)境和部署環(huán)境的實現(xiàn)
這篇文章主要介紹了vue項目打包之開發(fā)環(huán)境和部署環(huán)境的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04