@alt-stack/http-client-fetch

中文文档
1.8.2发布于 2026/10/20MITTypeScriptESM + CJS近 30 天下载 5991

使用本地获取 API 的安全 HTTP 客户端

中文使用文档
文档目录4 节
  1. 安装
  2. 快速使用
  3. 自定义获取和认证信头
  4. 文档

@alt-stack/http-client-fetch

使用标准获取API键入了Zod后置的HTTP客户端. 成功和记录的错误反应包括: Response 作为 raw。 。 。 .

安装

pnpm add @alt-stack/http-client-fetch zod

使用 Zod 4 和运行时间 fetch, (中文(简体) ), Response, (中文(简体) ), Headers,以及 AbortController (Node.js 18+,现代浏览器,或Bun).

快速使用

import { createApiClient } from "@alt-stack/http-client-fetch";
import { Request, Response } from "./generated-api.js";

const api = createApiClient({
  baseUrl: "http://127.0.0.1:3000",
  Request,
  Response,
  fetchOptions: { credentials: "include" },
});

const result = await api.get("/users/{id}", { params: { id: "u_1" } });
if (result.success) console.log(result.body, result.raw.status);

Request 财务报告和审定财务报表 Response 可以通过 @alt-stack/zod-openapi。获取选项不能覆盖执行器拥有的方法、标题、正文或信号.

自定义获取和认证信头

import { customFetch, getToken } from "./runtime.js";

const api = createApiClient({
  baseUrl: "https://api.example.test",
  Request,
  Response,
  fetch: customFetch,
  headers: async () => ({ Authorization: `Bearer ${await getToken()}` }),
});

await api.get("/users/{id}", {
  params: { id: "u_1" },
  headers: { "X-Request-Id": "request-123" },
});

自己提供 customFetch: typeof globalThis.fetch 用于代用、平台多填充、仪器或测试。 两者 createApiClient 财务报告和审定财务报表 new FetchExecutor({ fetch: customFetch }) 接受这一点。 没有它,执行者读 globalThis.fetch 在每次尝试。 选中的函数称为不绑定接收器 .

客户头可以是静态记录或同步/同步提供者. 供应商每次尝试运行一次,包括复试,然后由请求头覆盖。 虚数被省去. 提供方失败抛出消毒器 UnexpectedApiClientError 而不保留原始消息或原因。 见 核心 API 用于合并、重试和超时细节.

文档

版本与发布记录

@alt-stack/http-client-fetch 共发布 13 个版本,首次发布于 2025/12/05;过去 12 个月发布了 13 个版本。

版本发布日期距今
1.8.2latest2026/10/2018 天前
1.8.12026/10/2019 天前
1.8.02026/10/2019 天前
1.6.22026/08/202 个月前
1.6.12026/07/283 个月前
1.6.02026/07/223 个月前

关于 @alt-stack/http-client-fetch 的常见问题

@alt-stack/http-client-fetch 是什么?

使用本地获取 API 的安全 HTTP 客户端

如何安装 @alt-stack/http-client-fetch?

在项目目录运行 npm install @alt-stack/http-client-fetch,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:zod(^4.1.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@alt-stack/http-client-fetch 支持 TypeScript 吗?

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

@alt-stack/http-client-fetch 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@alt-stack/http-client-fetch 可以商用吗?

@alt-stack/http-client-fetch 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@alt-stack/http-client-fetch 的下载量有多少?

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

@alt-stack/http-client-fetch 还在维护吗?

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