Axios
基于 Promise 的 HTTP 客户端,同时支持浏览器与 Node.js,是前端与全栈 JavaScript 项目中最常用的请求库之一。
爱鲜报评分
0.0
0 人评分
开源 · MIT
#JavaScript
#Node.js
#前端
#HTTP客户端
#Promise
109k
星数
否
中文
JavaScript
主语言
是
活跃
688
贡献者
人工分析
EDITORIAL推荐理由
Axios 拥有超过 10 万 Star,生态成熟、API 稳定,是 JavaScript 发起 HTTP 请求的事实标准之一。它统一了浏览器与 Node.js 的使用方式,内置拦截器、请求取消、自动 JSON 转换等实用能力,几乎可与任意框架搭配。对于需要可靠网络层的项目,引入 Axios 能显著减少样板代码。
适用场景
- 前端调用后端 REST API
- Node.js 服务端发起 HTTP 请求
- 统一封装请求拦截与错误处理
- 文件上传与下载进度监听
- 多端(浏览器/Node/小程序类环境)共用请求层
优点
- API 简洁,基于 Promise,支持 async/await
- 浏览器与 Node.js 双端一致的使用体验
- 拦截器机制便于统一鉴权、日志与错误处理
- 自动转换 JSON、支持请求取消与超时控制
- 社区庞大、文档完善、TypeScript 类型支持良好
缺点
- 体积相比原生 fetch 略大,对极致轻量场景需权衡
- 浏览器端依赖 XHR,部分新特性受适配层限制
- 旧版本曾出现安全问题,需关注版本升级与安全公告
- 复杂场景(如流式响应)支持不如部分新式客户端
上手难度
入门
Axios 简介
Axios 是一个基于 Promise 的 HTTP 客户端,可在浏览器和 Node.js 中使用。它把两端差异封装在统一的 API 之下,让开发者用同一套代码完成网络请求。
核心特性
- Promise 化 API:天然支持
async/await,告别回调地狱。 - 双端通用:浏览器端基于 XHR,Node.js 端基于内置 http 模块。
- 拦截器:请求与响应拦截器可统一处理鉴权、日志、错误。
- 自动转换:自动序列化请求体、解析 JSON 响应。
- 取消与超时:支持请求取消、超时配置。
快速上手
import axios from 'axios';
const res = await axios.get('/api/user', {
params: { id: 1 },
timeout: 5000,
});
console.log(res.data);
拦截器示例
axios.interceptors.request.use((config) => {
config.headers.Authorization = `Bearer ${token}`;
return config;
});
适用建议
Axios 适合绝大多数需要发起 HTTP 请求的 JavaScript 项目,尤其是需要统一请求层、集中处理错误与鉴权的团队项目。若追求极致轻量,可评估原生 fetch;若需要更现代的流式能力,也可对比其他客户端。
注意:请关注官方安全公告,及时升级到受支持的版本。
评论
- 暂无评论,来写第一条吧。