superagent中文文档|superagent js中文教程|解析
安装命令:npm i superagent
superagent
小型渐进式客户端 HTTP 请求库,与 Node.js 模块具有相同的 API,支持许多高级 HTTP 客户端功能
目录
安装
纳米:
npm install superagent
纱线:
yarn add superagent
用法
节点
const superagent = ; // callbacksuperagent // sends a JSON post body ; // promise with then/catchsuperagent; // promise with async/awaitasync { try const res = await superagent; console; catch err console; };
浏览器
浏览器就绪的缩小版superagent
只有 6 KB(缩小和 gzipped)!
该模块的浏览器就绪版本可通过jsdelivr、unpkg 获得,也可在包node_modules/superagent/dist
下载的文件夹中获得superagent
。
请注意,我们还提供带有
.js
而不是.min.js
文件扩展名的未缩小版本。
香草JS
如果您只是<script>
到处使用标签,这就是您的解决方案!
<!-- if you wish to use unpkg.com instead: --><!-- <script src="https://unpkg.com/superagent"></script> -->
捆绑器
如果您正在使用browserify,的WebPack,汇总,或其他打捆,然后就可以按照相同的用法的节点之上。
支持的平台
-
节点:v6.x+
-
浏览器(参见.browserslistrc):
npx browserslistand_chr 71and_ff 64and_qq 1.2and_uc 11.8android 67android 4.4.3-4.4.4baidu 7.12bb 10bb 7chrome 73chrome 72chrome 71edge 18edge 17firefox 66firefox 65ie 11ie 10ie 9ie_mob 11ie_mob 10ios_saf 12.0-12.1ios_saf 11.3-11.4op_mini allop_mob 46op_mob 12.1opera 58opera 57safari 12safari 11.1samsung 8.2samsung 7.2-7.4
所需的浏览器功能
我们建议使用https://polyfill.io(特别是上面VanillaJS 中提到的包):
- IE 9-10需要一个填充工具为
Promise
,Array.from
,Symbol
,Object.getOwnPropertySymbols
,和Object.setPrototypeOf
- IE 9 需要一个polyfill
window.FormData
(我们推荐formdata-polyfill)和Set
插件
SuperAgent 可以通过插件轻松扩展。
const nocache = ;const superagent = ;const prefix = '/static'; superagent // query string // Prefixes *only* this request // Prevents caching of *only* this request ;
现有插件:
- superagent-no-cache – 通过包含 Cache-Control 标头来防止缓存
- superagent-prefix – 绝对 URL 的前缀(在测试环境中很有用)
- superagent-suffix – 给定路径的 URL 后缀
- superagent-mock – 通过根据请求的 URL 返回数据装置来模拟 HTTP 调用
- superagent-mocker — 模拟 REST API
- superagent-cache – 具有内置灵活缓存的全局 SuperAgent 补丁
- superagent-cache-plugin – 具有内置、灵活缓存的 SuperAgent 插件
- superagent-jsonapify –用于 superagent 的轻量级json-api客户端插件
- superagent-serializer – 将服务器有效负载转换为不同的情况
- superagent-httpbackend – 使用 AngularJS 的 $httpBackend 语法截断请求
- superagent-throttle – 排队并智能地限制请求
- superagent-charset – 为节点的 SuperAgent 添加字符集支持
- superagent-verbose-errors – 在失败请求的错误消息中包含响应正文
- superagent-declare – SuperAgent 的简单声明式API
- superagent-node-http-timings – 在 node.js 中测量 http 时间
请为您的插件添加前缀,superagent-*
以便其他人可以轻松找到它。
对于诸如 couchdb 和 oauth 之类的 SuperAgent 扩展,请访问wiki。
从以前的版本升级
我们的重大更改主要来自很少使用的功能和更严格的错误处理。
- 5.x 到 6.x:
- 重试行为仍然是可选的,但是我们现在有一个更细粒度的状态代码和错误代码列表,我们可以重试(请参阅更新的文档)
- 内容类型匹配不区分大小写的特定问题已修复
- 现在 IE 9 需要设置,请参阅所需的浏览器功能以获取更多信息
- 4.x 到 5.x:
- 我们已经实现了Lass的构建设置来简化我们的堆栈和 linting
- 未缩小的浏览器构建大小已从 48KB 减少到 20KB(通过
tinyify
和最新版本的 Babel 使用@babel/preset-env
和.browserslistrc
) - 使用
caniuse-lite
和添加了 Linting 支持eslint-plugin-compat
- 我们现在可以更轻松地使用我们希望支持的 Node 版本
.babelrc
- 3.x 到 4.x:
- 确保您运行的是 Node 6 或更高版本。我们已经放弃了对 Node 4 的支持。
- 我们已经开始使用 ES6,为了与 Internet Explorer 兼容,您可能需要使用 Babel。
- 我们建议从
.end()
回调迁移到.then()
orawait
。
- 2.x 到 3.x:
- 确保您运行的是 Node 4 或更高版本。我们已经放弃了对 Node 0.x 的支持。
- 测试
.send()
多次调用的代码。无效的调用.send()
现在将抛出而不是发送垃圾。
- 1.x 到 2.x:
- 如果
.parse()
在浏览器版本中使用,请将其重命名为.serialize()
. - 如果您依赖
undefined
查询字符串值作为文本“未定义”按字面发送,请改为检查缺失值。?key=undefined
现在?key
(没有值)。 - 如果您
.then()
在 Internet Explorer 中使用,请确保您有一个添加全局Promise
对象的 polyfill 。
- 如果
- 0.x 到 1.x:
- 而不是 1 参数回调
.end(function(res){})
使用.then(res => {})
.
- 而不是 1 参数回调
贡献者
姓名 |
---|
科内尔·莱辛斯基 |
彼得·莱昂斯 |
亨特·洛夫蒂斯 |
尼克·鲍 |
执照
麻省理工学院© TJ Holowaychuk
项目issue数量: 158
项目贡献人员列表: