React代理配置(setupProxy.js)


react腳手架配置代理總結

方法一

在package.json中追加如下配置

"proxy":"http://localhost:5000"

說明:

  1. 優點:配置簡單,前端請求資源時可以不加任何前綴。
  2. 缺點:不能配置多個代理。
  3. 工作方式:上述方式配置代理,當請求了3000不存在的資源時,那么該請求會轉發給5000 (優先匹配前端資源)

方法二

  1. 第一步:創建代理配置文件

    在src下創建配置文件:src/setupProxy.js
    
  2. 編寫setupProxy.js配置具體代理規則:

    const proxy = require('http-proxy-middleware')
    
    module.exports = function(app) {
      app.use(
        proxy('/runner', {  //api1是需要轉發的請求(所有帶有/api1前綴的請求都會轉發給5000)
          target: 'http://localhost:5000', //配置轉發目標地址(能返回數據的服務器地址)
          changeOrigin: true, //控制服務器接收到的請求頭中host字段的值
          /*
          	changeOrigin設置為true時,服務器收到的請求頭中的host為:localhost:5000
          	changeOrigin設置為false時,服務器收到的請求頭中的host為:localhost:3000
          	changeOrigin默認值為false,但我們一般將changeOrigin值設為true
          */
          pathRewrite: {'^/runner': ''} //去除請求前綴,保證交給后台服務器的是正常請求地址(必須配置)
        }),
     		// 可以配置多個代理   
        proxy('/api', { 
          target: 'http://localhost:6000',
          changeOrigin: true,
          pathRewrite: {'^/api': ''}
        })
      )
    }
    

說明:

  1. 優點:可以配置多個代理,可以靈活的控制請求是否走代理。
  2. 缺點:配置繁瑣,前端請求資源時必須加前綴。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM