1. 程式人生 > 其它 >react腳手架: 配置代理

react腳手架: 配置代理

1. package.json中配置

在package.json中新增如下程式碼:

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

說明

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

2. 建立代理配置檔案

  1. 在src下建立配置檔案:src/setupProxy.js
  2. 編寫setupProxy.js配置具體代理規則:
   const proxy = require('http-proxy-middleware')
   
   module.exports = function(app) {
     app.use(
       proxy('/api1', {  //api1是需要轉發的請求(所有帶有/api1字首的請求都會轉發給5000)
         target: 'http://localhost:5000', //配置轉發目標地址(能返回資料的伺服器地址)
         changeOrigin: true, //控制伺服器接收到的請求頭中host欄位的值
         pathRewrite: {'^/api1': ''} //去除請求字首,保證交給後臺伺服器的是正常請求地址(必須配置)
       }),
       proxy('/api2', { 
         target: 'http://localhost:5001',
         changeOrigin: true,
         pathRewrite: {'^/api2': ''}
       })
     )
   }

說明:

  1. 優點:可以配置多個代理,可以靈活的控制請求是否走代理。
  2. 缺點:配置繁瑣,前端請求資源時必須加字首。
  3. changeOrigin設定
    設定為true時,伺服器收到的請求頭中的host為:localhost:5000
    設定為false時,伺服器收到的請求頭中的host為:localhost:3000
    預設值為false,但我們一般將changeOrigin值設為true
如果文章對您有所幫助,可以點一下推薦哦