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-appindex.d.ts(泛型支持较差)index.d.ts包含
运行环境浏览器和 Node.jsuni-appuni-appuni-app
Promise
uni_modules××
npm
实例化
请求说明
请求头 headersAxiosHeaders普通对象普通对象普通对象
请求参数 paramsAxiosURLSearchParams普通对象普通对象普通对象或 URLSearchParams 对象
请求转换 transformRequest×××
响应说明×
响应转换 transformResponse×××
任务说明×(没有考虑 uni-app 任务)×√(只有 requestTask 说明)√(只有简单说明)
适配器√(内置 xhrhttp×
uni.request×(自行开发,还需要覆写类型)
uni.downloadFile×(自行开发,还需要覆写类型)×(自行开发,还需要覆写类型)
uni.uploadFile×(自行开发,还需要覆写类型)×(自行开发,还需要覆写类型)
请求拦截器
响应拦截器
配置说明
取消请求说明×
错误处理说明×
测试完善部分部分
使用示例