vue中proxy代理資料整理

每次遇到跨域問題都要到網(wǎng)上查一查,每次搜索到的資料都不通,今天我把對我有用的資料整理在一起,做個筆記,方便之后查閱

前端代理是為了解決前端跨域問題,但是服務(wù)器與服務(wù)器之間不存在跨域問題,所以前端代理的原理就是通過前端本地服務(wù)器向目標(biāo)服務(wù)器發(fā)送請求,目標(biāo)服務(wù)器返回數(shù)據(jù)給本地服務(wù)器,本地服務(wù)器再把數(shù)據(jù)返回給前端

vue.config.js中配置

module.exports = {
  devServer: {
    proxy: {
      '/api':{
        target:'http://192.168.0.1', //目標(biāo)地址,實際請求的服務(wù)器地址,代理服務(wù)器會向該服務(wù)器發(fā)送請求
        changeOrigin: true,
        secure: false, // target默認(rèn)不接受運行在https上且使用了無效證書的后端服務(wù)器,如果想接受,設(shè)置為false
        pathRewrite:{
          '^/api':'' //接口重寫,將接口中的‘/api’字符串去掉
        }
      }
    }
  }
}

上邊的‘/api’實際上是你給接口統(tǒng)一配置的前綴名,代理服務(wù)器看到這個字段就認(rèn)為是需要代理的接口,他就會重寫接口名,并向target發(fā)送請求
例如:

getDolist(params) {
    const url = 'api/aaa/bbb/ccc/ddd'
    return http.get(url, params)
}

接口需要請求的是http://192.168.0.1/aaa/bbb/ccc/ddd,但是實際上瀏覽器顯示的請求地址是http://localhost:8080/api/aaa/bbb/ccc/ddd,本地服務(wù)器檢測到‘/api’字段,發(fā)現(xiàn)這個請求需要代理,所以他重寫的接口名,去掉了‘/api’字段,并向目標(biāo)服務(wù)器target發(fā)送了請求http://192.168.0.1/aaa/bbb/ccc/ddd,目標(biāo)服務(wù)器將接口返回給代理服務(wù)器,代理服務(wù)器再將數(shù)據(jù)返回給前端

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容