官方文档地址:https://alova.js.org/zh-CN/get-started/overview
定义
alova是一个简单编码即可实现特定场景的高效请求的请求策略工具。
场景痛点
现在一般的请求场景,一般分为两个部分:
- 请求部分。一般用axios等库触发http请求,拿到response。
- 请求状态管理部分。我们的业务场景一般比较复杂,常常有监听触发/防抖/缓存/成功失败回调/超时/请求并发/请求取消等等需求,这些我们需要自己写一个useRequest类似的hook或使用其他三方库来维护请求状态。
我们的痛点就在第二部分,我们需要花费大量精力管理请求状态。而alova的能力包含了这两部分,可以让开发者更高效的处理数据交互。
主要能力
- 支持 vue、react、svelte
- 与 axios 相似的 api 设计,更简单熟悉
- 开箱即用的高性能请求策略,让应用更流畅
- 4kb,只有 axios 的 30%+
- 高灵活性,兼容任意请求库,如 axios、superagent 或 fetch-api
- 3 种数据缓存模式,提升请求性能,同时降低服务端压力
- 丰富的扩展功能,可以自定义请求适配器、存储适配器、中间件,以及 states hook
- ️ [2.2.0+]服务端渲染(SSR)
- 请求共享,避免同时发送相同请求
- 数据预拉取,这意味着用户可以更快看到信息,无需等待
- 实时自动状态管理
- 交互式文档和示例
- Typescript 支持
- ⚡ 支持 tree shaking,这意味着 alova 的生产体积往往小于 4kb