umi-request 和 umi 的区别是什么

文章目录

    • [umi-request 和 umi 的区别是什么](#umi-request 和 umi 的区别是什么)
    • [为什么 使用 umi-request 替换 umi](#为什么 使用 umi-request 替换 umi)

umi-request 和 umi 的区别是什么

为什么 使用 umi-request 替换 umi

umi-request 是一个基于 fetch 的网络请求库,专门为 Umi 开发的。相比于 Umi 内置的 request 模块,umi-request 提供了更多的功能和灵活性。

使用 umi-request 的主要原因可能包括以下几点:

更强大的功能:umi-request 提供了丰富的功能,如请求拦截器、响应拦截器、异常处理、请求重试等。这些功能可以帮助您更好地管理和处理网络请求。

更好的兼容性:umi-request 基于标准的 fetch API 实现,与现代浏览器兼容性更好。而内置的 request 模块可能在某些特定浏览器或环境中存在兼容性问题。

可扩展性:umi-request 提供了丰富的插件机制,可以轻松地添加自定义的中间件或拦截器,以满足特定的需求。

社区支持:umi-request 是一个独立的开源项目,拥有活跃的社区支持和维护。您可以从社区中获取更多的功能扩展、文档和帮助。

需要注意的是,使用 umi-request 取决于您的具体需求和偏好。如果您对 umi 内置的 request 模块感到满意并满足您的需求,那么您可以继续使用它。如果您需要更多的功能和灵活性,或者对 umi-request 的功能更感兴趣,那么可以考虑切换到 umi-request。

示例demo

bash 复制代码
// import { request } from 'umi';
import request from 'umi-request';

// request拦截器, 改变url 或 options.
request.interceptors.request.use((url, options) => {
  let token = localStorage.getItem('token');
  if (null === token) {
      token = '';
  }
  const authHeader = { Authorization: `Bearer ${token}` };
  return {
    url: url,
    options: { ...options, interceptors: true, headers: authHeader },
  };
});

通过 Umi Request 库来实现请求的拦截器。拦截器的作用是在每次请求发送之前,对请求的 URL 和选项进行修改或添加一些自定义的处理逻辑。

在这个例子中,拦截器的作用是为每个请求添加一个包含授权信息的请求头。具体来说,它从 localStorage 中获取存储的 token,并将其添加到请求头的 Authorization 字段中,用于进行身份验证。

这种实现的目的是为了实现全局的身份验证机制。通过在请求拦截器中添加授权信息,每个发送的请求都会自动附带授权头部,而无需在每个请求中手动添加授权信息。

这样的实现方式具有以下优点:

  • 方便:只需在请求拦截器中添加一次授权逻辑,即可自动为每个请求添加授权信息,无需在每个请求中重复添加。
  • 统一:确保每个请求都遵循相同的身份验证规则,提高代码的可维护性和一致性。
  • 安全:通过将授权信息存储在安全的方式(例如 localStorage)中,并将其添加到请求头中,提供了一种安全的方式进行身份验证。

通过在请求拦截器中添加授权信息,可以实现全局的身份验证,提高代码的可维护性和安全性。这种实现方式可以方便地适用于各种请求,并提供了一种统一的身份验证机制。

相关推荐
轻口味2 天前
AI 时代全栈开发破局:TypeScript 生态实战,从入门到部署一站式通关
前端·mongodb·docker·ai·typescript·react·next.js
Paraverse_徐志斌2 天前
【AI Agent】常用架构模式:ReAct、Plan-and-Execute、Reflection
人工智能·ai·架构·llm·agent·react
ai超级个体4 天前
前端唯一的护城河?结合 AI 将字节组件库 Headless 化后的感想~
前端·react·ai编程·ant design·组件库·vibe coding
白鳯5 天前
塔罗神谕:星月神域莱诺薇为您占卜
react·web·three.js·codex·deepseek·vibe coding·塔罗占卜
CAE虚拟与现实5 天前
前后端调试常用工具大全
前端·后端·vue·react·angular
书到用时方恨少!6 天前
提示词工程终章:ReAct——让大模型“边想边做”的智能体革命
prompt·agent·react·智能体·提示词工程
suixinm7 天前
Agent 设计模式:从 ReAct、CodeAct 到 Agentic Rag 与多智能体
设计模式·ai·react·rag·ai agent·agent智能体·multi-agent
研究点啥好呢8 天前
面馆开业!客官,你的面(经)好了!
python·阿里云·docker·面试·reactjs·求职招聘·react
1104.北光c°11 天前
【AI核心概念讲解】一口气搞懂 Agent:干翻传统后端!自主循环决策的秘密,ReAct 与 Plan-and-Execute 范式
java·人工智能·程序人生·ai·agent·react·智能体
DevilSeagull13 天前
电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!
测试工具·安全·react·vite·localhost·hono·trpc