@bbc/http-transport

中文文档
5.0.1发布于 2026/10/14Apache-2.0TypeScriptCommonJS近 30 天下载 4259

为方便使用和适应性而建设的灵活、模块化的REST客户端.

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. 文档
  4. 类型脚本
  5. 选择退出
  6. 测试

NPM downloads npm license github-issues stars forks

http-transport (中文(简体) )

为方便使用和复原力而建设的灵活、模块化的REST客户端

安装

pnpm install @bbc/http-transport --save

使用量

const url = 'http://example.com/';
const client = require('@bbc/http-transport').createClient();

const res = await client
   .get(url)
   .asResponse();
  
  if (res.statusCode === 200) {
    console.log(res.body);
  }

文档

更多实例和API细节请参见: API 文档

类型脚本

类型包含在这个项目中,它们也与插件配合.

只需传递您的插件将添加到的类型 context 作为通论. 这将覆盖在链条中先前插件添加的任何类型的上方 .

举个例子.

const addSessionData: Plugin<{ session: { userId: string } } }> = (context, next) => {
  context.session = { userId: 'some-user' };
};

const res = await client
  .use(addSessionData)
  .use((context, next) => {
    if (context.session.userId === 'some-user') { // this would error if addSessionData middleware was missing
      // do something
    }
  })
  .use<{res: { random: number } }>((context, next) => {
    context.res.random = Math.random();
  })
  .get(url)
  .asResponse();

console.log(res.random); // number

选择退出

如果您不想键入您的插件, 只需使用 any 作为类型。 这并非推荐, 因为它意味着链条后期的所有插件也会失去类型, 因为他们不知道做了什么修改 .

const myPlugin: Plugin<any> = (context, next) => {};

测试

pnpm test

为生成测试覆盖报告:

pnpm run coverage

版本与发布记录

@bbc/http-transport 共发布 62 个版本,首次发布于 2017/09/05;过去 12 个月发布了 2 个版本。

版本发布日期距今
5.0.1latest2026/10/1424 天前
5.0.02026/10/1226 天前
4.6.22024/12/161.9 年前
4.6.12024/12/161.9 年前
4.6.02024/11/271.9 年前
4.5.12024/09/132 年前

其他发布通道:next → 3.5.7-0,node-fetch → 4.0.0-2。

关于 @bbc/http-transport 的常见问题

@bbc/http-transport 是什么?

为方便使用和适应性而建设的灵活、模块化的REST客户端.

如何安装 @bbc/http-transport?

在项目目录运行 npm install @bbc/http-transport,或使用 pnpm add / yarn add / bun add。

@bbc/http-transport 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bbc/http-transport 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bbc/http-transport 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bbc/http-transport 可以商用吗?

@bbc/http-transport 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@bbc/http-transport 的下载量有多少?

根据 npm 官方下载统计,@bbc/http-transport 在 2026/10/08 – 2026/11/06 这 30 天内被下载 4,259 次,日均约 142 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bbc/http-transport 还在维护吗?

最新版本 5.0.1 发布于 2026/10/14(24 天前);至今共发布 62 个版本,其中过去 12 个月发布了 2 个;首次发布于 2017/09/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。