React配置代理方式(proxy)
React配置代理(proxy)
使用axios進(jìn)行請求,而配置代理過程
第一種
在package.json中,添加proxy
配置項(xiàng),之后所有的請求都會(huì)指向該地址
但這種方法只能配置一次,也只有一個(gè)
- 示例:
"proxy":"https://localhost:5000"
添加后,重啟項(xiàng)目?。?!讓配置文件加載生效
然后就可以進(jìn)行請求了
比如請求地址是
http://localhost:5000/api/index/index
- 那就可以寫
axios.get("/api/index/index").then( response => {console.log('成功了',response.data);}, error => {console.log('失敗了',error);} )
第二種
在src
中,新建setupProxy.js
(必須是這個(gè)名字,react腳手架會(huì)識別)
在文件中寫以下配置內(nèi)容(最近的項(xiàng)目要使用高版本這個(gè),不然會(huì)導(dǎo)致項(xiàng)目無法啟動(dòng)):
- http-proxy-middleware高版本(2以上):
const proxy = require('http-proxy-middleware')//引入http-proxy-middleware,react腳手架已經(jīng)安裝 module.exports = function(app){ app.use( proxy.createProxyMiddleware('/api',{ //遇見/api1前綴的請求,就會(huì)觸發(fā)該代理配置 target:'http://localhost:5000', //請求轉(zhuǎn)發(fā)給誰 changeOrigin:true,//控制服務(wù)器收到的請求頭中Host的值 pathRewrite:{'^/api':''} //重寫請求路徑,下面有示例解釋 }), proxy.createProxyMiddleware('/api2',{ target:'http://localhost:5001', changeOrigin:true, pathRewrite:{'^/api2':''} }), ) }
- http-proxy-middleware低版本(2以下):
const proxy = require('http-proxy-middleware')//引入http-proxy-middleware,react腳手架已經(jīng)安裝 module.exports = function(app){ app.use( proxy('/api',{ //遇見/api1前綴的請求,就會(huì)觸發(fā)該代理配置 target:'http://localhost:5000', //請求轉(zhuǎn)發(fā)給誰 changeOrigin:true,//控制服務(wù)器收到的請求頭中Host的值 pathRewrite:{'^/api':''} //重寫請求路徑,下面有示例解釋 }), proxy('/api2',{ target:'http://localhost:5001', changeOrigin:true, pathRewrite:{'^/api2':''} }), ) }
寫好以后,重啟項(xiàng)目?。?!
然后進(jìn)行請求
假設(shè)地址是
http://localhost:5000/api/index/index
//沒有開啟重新路徑 axios.get("/api/index/index").then( response => {console.log('成功了',response.data);}, error => {console.log('失敗了',error);} ) //開啟重寫路徑 axios.get("/api/api/index/index").then( response => {console.log('成功了',response.data);}, error => {console.log('失敗了',error);} )
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
react中fetch之cors跨域請求的實(shí)現(xiàn)方法
本篇文章主要介紹了react中fetch之cors跨域請求的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03修復(fù)Next.js中window?is?not?defined方法詳解
這篇文章主要為大家介紹了修復(fù)Next.js中window?is?not?defined方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12react-router-dom入門使用教程(前端路由原理)
這篇文章主要介紹了react-router-dom入門使用教程,主要包括react路由相關(guān)理解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08