React配置代理(proxy)

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

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

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

示例:

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

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

然后就可以进行请求了

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

那就可以写

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

第二种

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

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

typescript 复制代码
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以下):

typescript 复制代码
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

typescript 复制代码
//没有开启重新路径
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);}
)
相关推荐
架构技术专栏2 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
别动我齐刘海3 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
志尊宝4 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
刘发财4 小时前
前端如何生成10000页PDF文件?
前端·javascript·开源
A接拉起0075 小时前
2026 年 JavaScript 开发者需要了解的知识
前端·javascript·后端
用户11481867894845 小时前
面试官:大屏项目里十几个模块同时渲染上万条数据,怎么做到不卡?
前端·性能优化
前端市界5 小时前
Pro React Admin: 统一工程底座,承载多种应用...
前端·github
葡萄城技术团队5 小时前
dsh-spreadjs-editor 当前支持什么:安装前需要了解的几件事
前端
三*一6 小时前
优化修整算法
前端·javascript·算法
weifont7 小时前
自动化抓取和上架商品:能不动手,就少动手
运维·前端·自动化