网络处理
- 与服务器进行交互的桥梁,构建项目的必要技术
Axios 
前端必备 不知道它给自己扣10分,没必要介绍,可以无脑上的库,基于Promise的网络请求库
| Browser | Node |
|---|---|
| ✔️ | ✔️ |
TanStack Query 
强大的异步状态管理工具,无视框架 缓存并行 聚焦离线 过滤轮训 依赖查询/SSR等能力一应俱全,是不可多得优质请求工具,同时还配备了界面化的数据查看工具,再也不需要为请求相关的内容申明各种诸如 loading 数据Data 条件filter此类的变量
| Vanilla | React | Vue | Solid | Svelte |
|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
React、Vue、Solid 插件已出,其他框架的适配还在进行中~
Undici 
专为Node.js编写的网络库,支持诸如委托代理 模拟 生命周期等特性,本身还封装了除常规请求外的例如 文件stream popeline连接 等一系列方法
| Node |
|---|
| ✔️ |
Dio
支持Flutter的Dart Http请求库,支持 Restful API FormData 拦截取消 Cookie管理 文件/超时 下载上传等一系列常用功能
| Flutter |
|---|
| ✔️ |
Luch request 
类似于axios的基于Uniapp Promise而开发的请求库,针对 Uniapp 的不同平台做了优化,api 设计靠拢axios,学习成本基本没有,使用Uniapp的开发者不容错过
官方文档中文公网仓库Github | Npm | Uniapp 插件地址支持度&兼容性
| Uniapp全平台 |
|---|
| ✔️ |
ProQuest 
洋葱式的 http 请求解决方案工具,本身只抹平不同环境平台下的差异,对外提供统一的接口和输出,开发者可自定义中间件进行各个平台的适配,是一个不错的开源项目。作者提供了部分集成 React Hook XHR Fetch Jsonp Node 小程序,等其他配套工具,官网都有详尽说明
| Vanilla | React | Vue | Uniapp | Taro | 小程序 | Node | 其他 |
|---|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Swr 
专注于为React提供高效简捷 依赖聚焦 缓存重置 验证轮询等特性的Hooks库,内部对外提供请求使用中常见的状态定义,如 loading 数据data 错误error等,释放开发者的心智负担
| React | React-SSR | React-Native | React-SSG | React-ISR |
|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Wretch 
基于fetch 错误包装 标头反序列化 可重用实例 插件中间件 浏览器、Node、Deno TS类型安全 缓存延迟重发
| 浏览器 | Node | Deno | 其他 |
|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ❓ |
web-resources