教程 ky tutorial

与 Axios 对比

Ky 和 Axios 都是常用的前端 HTTP 请求库,但它们设计理念和特性有所不同。本章节对两者进行对比分析。

1. 库大小

库 大小
Ky 约 2 KB (压缩后)
Axios 约 12 KB (压缩后)
  • Ky 更轻量,适合对包体积敏感的项目。

2. 基于原生 API

  • Ky:基于 Fetch API,现代浏览器原生支持。
  • Axios:基于 XMLHttpRequest,兼容性较好,但不使用原生 Fetch。

3. 默认行为

特性 Ky Axios
自动 JSON 解析 ✅ ✅
自动转换请求头 ✅ ✅
超时处理 ✅ ✅
请求取消 ✅ (AbortController) ✅ (CancelToken)
拦截器 ✅ (hooks) ✅

4. 错误处理

  • Ky 抛出不同类型错误(HTTPError、TimeoutError、AbortError),便于分类处理。
  • Axios 抛出统一错误对象,需要手动解析状态码。

5. 适用场景

  • Ky:适合现代浏览器项目,追求轻量、简洁和 Fetch 原生体验。
  • Axios:适合需要兼容旧浏览器、依赖丰富功能和插件的项目。

小结

  • Ky 更轻量、现代化、与 Fetch 原生一致。
  • Axios 功能丰富、生态成熟、兼容性好。
  • 根据项目需求选择适合的请求库,或者结合团队习惯进行使用。