React配置代理(proxy)

使用axios进行请求,而配置代理过程

第一种

package.json中,添加proxy配置项,之后所有的请求都会指向该地址

但这种方法只能配置一次,也只有一个

示例:

javascript 复制代码
"proxy":"https://localhost:5000"

添加后,重启项目!!!让配置文件加载生效

然后就可以进行请求了

比如请求地址是 http://localhost:5000/api/index/index

那就可以写

javascript 复制代码
axios.get("/api/index/index").then(
	response => {console.log('成功了',response.data);},
	error => {console.log('失败了',error);}
)

第二种

src中,新建setupProxy.js(必须是这个名字,react脚手架会识别),在文件中写以下配置内容(最近的项目要使用高版本这个,不然会导致项目无法启动):

http-proxy-middleware高版本(2以上):

javascript 复制代码
const proxy = require('http-proxy-middleware')//引入http-proxy-middleware,react脚手架已经安装

module.exports = function(app){
	app.use(
		proxy.createProxyMiddleware('/api',{ //遇见/api1前缀的请求,就会触发该代理配置
			target:'http://localhost:5000', //请求转发给谁
			changeOrigin:true,//控制服务器收到的请求头中Host的值
			pathRewrite:{'^/api':''} //重写请求路径,下面有示例解释
		}),
		proxy.createProxyMiddleware('/api2',{
			target:'http://localhost:5001',
			changeOrigin:true,
			pathRewrite:{'^/api2':''}
		}),
	)
}

http-proxy-middleware低版本(2以下):

javascript 复制代码
const proxy = require('http-proxy-middleware')//引入http-proxy-middleware,react脚手架已经安装

module.exports = function(app){
	app.use(
		proxy('/api',{ //遇见/api1前缀的请求,就会触发该代理配置
			target:'http://localhost:5000', //请求转发给谁
			changeOrigin:true,//控制服务器收到的请求头中Host的值
			pathRewrite:{'^/api':''} //重写请求路径,下面有示例解释
		}),
		proxy('/api2',{
			target:'http://localhost:5001',
			changeOrigin:true,
			pathRewrite:{'^/api2':''}
		}),
	)
}

写好以后,重启项目!!!

然后进行请求

假设地址是 http://localhost:5000/api/index/index

javascript 复制代码
//没有开启重新路径
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);}
)
相关推荐
_阿南_3 小时前
项目中新增给AI制定的代码规范
前端·程序员
名字还没想好☜4 小时前
React 实现暗黑模式切换:localStorage 持久化、SSR 首屏闪烁与跟随系统主题
前端·javascript·react.js·ecmascript·react·next.js
自动化监测Learner5 小时前
主流 Web 端地图引擎对比:选型指南与优劣分析
javascript
console.log('npc')5 小时前
Git 冲突与 AI 协助指南
前端·人工智能·git·大模型
爱学堂IT分享6 小时前
Cesium可视化系统实战课程-Cesium教程学习
前端
糖墨夕7 小时前
理解大语言模型:Agent 的“大脑”
前端·agent
Rain的Java大神之路7 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
cpolar技术支持7 小时前
浏览器也能跑本地 AI:用 Transformers.js + WebGPU 做一个最小推理 Demo,cpolar 给同事远程体验
前端·ai·cpolar·webgpu·transformers.js
计算机毕设定制辅导-无忧学长7 小时前
《基于SpringBoot青年公寓出租管理系统的设计与实现》
java·vue.js·spring boot·青年公寓出租管理系统
计算机魔术师9 小时前
OpenAI 发布 GPT-6 Astra:多项基准刷新纪录, cybersecurity 能力达 Critical 阈值
前端