vue中proxy代理資料整理

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

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

vue.config.js中配置

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

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

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,本地服務器檢測到‘/api’字段,發現這個請求需要代理,所以他重寫的接口名,去掉了‘/api’字段,并向目標服務器target發送了請求http://192.168.0.1/aaa/bbb/ccc/ddd,目標服務器將接口返回給代理服務器,代理服務器再將數據返回給前端

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容