日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

react脚手架配置代理解决跨域问题

發布時間:2024/7/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 react脚手架配置代理解决跨域问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、問題描述:

控制臺報錯,出現跨域問題

二、解決方案

配置代理:
第一種配置方式:

在package.json中追加如下配置

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

說明:

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

  • 第二種配置方式:

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

    在src下創建配置文件:src/setupProxy.js
  • 編寫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字段的值/*changeOrigin設置為true時,服務器收到的請求頭中的host為:localhost:5000changeOrigin設置為false時,服務器收到的請求頭中的host為:localhost:3000changeOrigin默認值為false,但我們一般將changeOrigin值設為true*/pathRewrite: {'^/api1': ''} //去除請求前綴,保證交給后臺服務器的是正常請求地址(必須配置)}),proxy('/api2', { target: 'http://localhost:5001',changeOrigin: true,pathRewrite: {'^/api2': ''}})) }
  • 說明:

  • 優點:可以配置多個代理,可以靈活的控制請求是否走代理。
  • 缺點:配置繁瑣,前端請求資源時必須加前綴。
  • changeOrigin:控制服務器收到的請求頭中Host字段的值


    pathRewrite:重寫請求路徑

    總結

    以上是生活随笔為你收集整理的react脚手架配置代理解决跨域问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。