Skip to content

比较 ​

最常见的比较就是 axios 和 @uni-helper/uni-network 的比较。

axios 非常棒,@uni-helper/uni-network 的灵感也源于 axios,但 axios 存在几个相对严重的问题。

  • axios 面向浏览器和 Node.js,即使使用了 adapter,某些底层功能也可能会在小程序内报错。
  • axios 体积较大,会占用宝贵的小程序空间。
  • 如果你想要获取良好的 TypeScript,你需要修改 axios 大部分类型定义。

如果你因为某些原因坚持使用 axios,你可以查看 @uni-helper/axios-adapter 获取 adapter 支持。

以下是 @uni-helper/uni-network 与其它一些库的比较。如果你发现这里信息已经过时,欢迎提交 ISSUE 或 PR。

axiosluch-requestuni-ajax@uni-helper/uni-network
基本信息npm npmnpm npmnpm npmnpm npm
开发语言JavaScriptJavaScriptJavaScriptTypeScript
类型支持index.d.ts(没有考虑 uni-app)index.d.ts(泛型支持较差)index.d.ts包含
运行环境浏览器和 Node.jsuni-appuni-appuni-app
Promise√√√√
uni_modules×√√×
npm 包√√√√
实例化√√√√
请求说明√√√√
请求头 headersAxiosHeaders普通对象普通对象普通对象
请求参数 paramsAxiosURLSearchParams普通对象普通对象普通对象或 URLSearchParams 对象
请求转换 transformRequest√×××
响应说明√×√√
响应转换 transformResponse√×××
任务说明×(没有考虑 uni-app 任务)×√(只有 requestTask 说明)√(只有简单说明)
适配器√(内置 xhr 和 http)×√√
uni.request×(自行开发,还需要覆写类型)√√√
uni.downloadFile×(自行开发,还需要覆写类型)√×(自行开发,还需要覆写类型)√
uni.uploadFile×(自行开发,还需要覆写类型)√×(自行开发,还需要覆写类型)√
请求拦截器√√√√
响应拦截器√√√√
配置说明√√√√
取消请求说明√×√√
错误处理说明√×√√
测试完善部分无部分
使用示例√√√√