node极致轻量化的http client推荐,同时支持浏览器browser和node

这里写自定义目录标题

背景

笔者一直找一个轻量级的http客户端,需要同时支持浏览器环境和node环境,因为是作为内嵌模块,要求文件轻量级,功能要求简单,需要支持最简单的restful调用,支持json,form内容格式,支持Primise

遇到的坑

做常用的client一般都是:

  1. superagent
  2. axios
  3. needle
  4. request
  5. got
  6. axios-mini
    等等
    这些包非常优秀,大都同时支持浏览器和node,但是动则几百KB,甚至几MB,过于庞大

轻量级

于是笔者找一些轻量级的包:

  1. http.min : 7KB,node only
  2. centra :10KB, node only
  3. reeq : 10KB , 浏览器only
  4. send-request :15KB, node only
  5. unirest : 轻量级,开玩笑。。
  6. phin: 12kb,只支持node
  7. ddflyio : 490KB 开玩笑
  8. gotch :几十KB,只支持浏览器
  9. phax : 12KB,只支持node
    10.lightning-request :20KB,only node
  10. awi : 200KB ,轻量?
  11. xeta : 170KB,轻量?
  12. requesta : 12KB,node only
  13. luch : 230KB , 轻量?
  14. phax : 17KB,浏览器 only

总而言之,比较绝望,还是自己实现一个轻量级的client:mini.req.js

mini.req.js

功能如下:
1.极小:5KB以下
2. 同时支持浏览器和node
3. 根据当前环境自动切换,内部集成reeq和centra
4. 可在html单独使用
5. 支持promise,await
6. 主流接口调用封装,并自动识别传参类型及返回值类型

miniReq('http://localhost/hello','POST',{ hello : 'world'}).then(res=>{})

(async ()=>{
	var get = await miniReq.get(url,data,options)
	var post = await miniReq.post(url,data,options)
	var put = await miniReq.put(url,data,options)
	var del = await miniReq.delete(url,data,options)
})()
  1. 支持browserify

源码

https://github.com/apporoad/mini.req.js 😜喜欢请支持,但求star❤

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值