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);}
)
相关推荐
念你那丝微笑5 小时前
2026年Vue前端面试准备
前端·vue.js·面试
冴羽yayujs5 小时前
GitHub 前端热榜项目 - 日榜(2026-05-09)
前端·github
Copy_Paste_Coder5 小时前
小程序失败后,换个方向,终于成功搞到收益
前端·javascript·后端
问心无愧05135 小时前
ctf show web入门31
前端·笔记
ZC跨境爬虫5 小时前
跟着 MDN 学 HTML day_31:(AbortSignal 深入解析与高级中止模式)
前端·ui·html·音视频·视频编解码
UXbot5 小时前
2026年文字转原型AI工具推荐:输入一句需求描述,自动生成多页面可交互界面
前端·低代码·ui·交互·ai编程·原型模式
im_AMBER5 小时前
Browser Agent 开发:从浏览器插件到Electron CDP
前端·javascript·架构·electron·agent
ZC跨境爬虫6 小时前
跟着 MDN 学 HTML day_30:(AbortController 实现可取消的异步请求)
前端·ui·html·edge浏览器·媒体
前端若水6 小时前
选择器的威力 —— :has()、@layer、原生嵌套
前端·css·css3
nashane6 小时前
HarmonyOS 6学习:Web组件本地资源跨域访问全解析与实战
前端·学习·harmonyos·harmonyos 5