React - ajax 配置代理

  1. React 本身只关注于界面,并不包含发送 ajax 请求的代码;
  2. 前端应用需要通过 ajax 请求与后台进行交互(json 数据);
  3. React 应用中需要集成第三方 ajax 库(或者自己封装)。

方法一

在 package.json 中追加如下配置:

javascript 复制代码
"proxy":"http://localhost:5000" // 5000端口号

说明:

  1. 优点:配置简单,前端请求资源时可以不加任何前缀;
  2. 缺点:不能配置多个代理;
  3. 工作方式:上述方式配置代理,当请求了3000不存在的资源时,那么该请求会转发给5000(优先匹配前端资源,就近原则)。

方法二

第一步:创建代理配置文件

在src下创建配置文件:src/setupProxy.js

第二步:编写 setupProxy.js 配置具体代理规则

javascript 复制代码
const proxy = require('http-proxy-middleware')

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

说明:

  1. 优点:可以配置多个代理,可以灵活的控制请求是否走代理。
  2. 缺点:配置繁琐,前端请求资源时必须加前缀。
相关推荐
BumBle30 分钟前
uniapp AI聊天应用技术解析:实现流畅的Streaming聊天体验(基础版本)
前端·uni-app
搞个锤子哟33 分钟前
vant4的van-pull-refresh里的列表不在顶部时下拉也会触发刷新的问题
前端
jnpfsoft34 分钟前
低代码视图真分页实操:API/SQL 接口配置 + 查询字段避坑,数据加载不卡顿
前端·低代码
HHHHHY34 分钟前
使用阿里lowcode,封装SearchDropdown 搜索下拉组件
前端·react.js
前端付豪35 分钟前
万事从 todolist 开始
前端·vue.js·前端框架
小胖霞36 分钟前
从零开始:在阿里云 Ubuntu 服务器部署 Node+Express 接口(基于公司 GitLab)
前端·后端
A_Bin38 分钟前
前端工程化之【包管理器】
前端
小肚肚肚肚肚哦40 分钟前
CSS 伪类函数 :where 简介
前端·css
Nick568341 分钟前
Swift -- 第三方登录之微信登录 源码分享
前端
麦麦大数据1 小时前
D026 vue3+django 论文知识图谱推荐可视化系统 | vue3+vite前端|neo4j 图数据库
前端·django·vue3·知识图谱·推荐算法·论文文献·科研图谱