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