
Node 刚开始看,觉着很简单,昨天写了一小程序,发现 node 下面的 httpclient 可不是一般的多,而且开发都很活跃, github star 都很高。
老司机说一下他们之间的大体比较吧? fetch, request, superagent, axios 。
1 jkeylu Nov 11, 2016 via Android 以前用 needle ,自从用了 promise 后,就一直用 node-fetch 了。像 request 太庞大了,大多数功能都没机会用到 |
2 cloud107202 Nov 11, 2016 fetch ,配合 Promise 和 async/await 使用。 browser 端千万不要用 request |
3 meteor Nov 11, 2016 就用过 request |
5 AlloVince Nov 11, 2016 - node-fetch: 略简陋,主要目的是为了同构和浏览器公用代码 - request: 历史悠久,功能全, promise 还需要引入 request-promise , API 是一点点叠加上去的,没有经过完整的设计 -superagent: 和 request 有同样问题, promise 、 log 这种基础功能都需要引入三方库 - axios: 优点是可以实现同构, API 设计好,非常适合对接 RESTFul 服务,缺点是用例和资料偏少 我们生产最终用的 request |
6 mcfog Nov 11, 2016 request 用惯了,顺便 promise 一直用的 bluebird 也用惯了 npm init -y npm i -S request bluebird cheerio 各种小脚本的默认起手式 顺便数据复杂的话再来个 lodash |
7 metrue Nov 11, 2016 via iPhone fetch |
8 lylijincheng Nov 11, 2016 isomorphic-fetch |
9 xieren58 Nov 11, 2016 got |
10 xieren58 Nov 11, 2016 |
11 razor1895 Nov 11, 2016 isomorphic-fetch +1 |
14 smallpath Nov 11, 2016 superagent 和 axios 都是同构的, axios 功能全一点,前端用 fetch ,后端 axios |
15 hujianxin OP @smallpath superagent 与 axios 还是不同的,我试了一下,将 axios 换成 superagent 之后, response 内容不同,代码得该。看了一下发现还是更喜欢 axios 一点。 其实前后端都用 fetch 也可以,这样的话会更统一一点吧。 |
17 jin5354 Nov 11, 2016 fetch 是标准, axios 语法糖多,我用 axios |
18 leopku Nov 11, 2016 axios +1 有机会试试 got |
19 wobuhuicode Nov 11, 2016 request ! request ! request ! 主要是旧代码用着懒得换了…… |
20 smallpath Nov 11, 2016 @hujianxin axios 功能比 superagent 多,例如截取器,不过 response 内容倒是 axios 不怎么规范,大家都是叫 body 就它一个叫 data 。 fetch 的话前端是用 fetch ,后端不是 fetch 而是 node-fetch ,并不是同构,需要打包两份 |
21 magicdawn Nov 11, 2016 从 superagent 切到了 request-promise, 因为这个 https://github.com/visionmedia/superagent/issues/1069 我建议 node 端都用 request, 一个很简单的 trick, 自动读取 http_proxy / https_proxy 环境变量...等等 |
22 magicdawn Nov 11, 2016 现在 GitHub 都有 superagent owner / superagent contributor blabla 了... |
24 shyling Nov 12, 2016 via iPhone request |
26 helloleo Nov 13, 2016 |
27 solee Nov 14, 2016 koa-request 作者封装的 request 。从来没用过其他的了~ |