# @alt-stack/http-client-fetch 中文文档

规范地址：https://npmcn.com/package/%40alt-stack/http-client-fetch/

版本：1\.8\.2
npm 元数据更新时间：2026-10-20T15:05:45.792Z
中文译文更新时间：2026-11-06T03:01:07.517Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40alt-stack/http-client-fetch
原文对照：https://npmcn.com/package/%40alt-stack/http-client-fetch/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：84.2 kB，19 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：zod ^4\.1\.0
- 首次发布：2025-12-04T22:19:47.940Z
- 最新版本发布：2026-10-20T15:05:41.383Z
- 近 30 天下载量：5991（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 13 个）

## 中文简介

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

## 安装

```sh
npm install @alt-stack/http-client-fetch
```

也可以使用：`pnpm add @alt-stack/http-client-fetch`、`yarn add @alt-stack/http-client-fetch`、`bun add @alt-stack/http-client-fetch`

## README

# `@alt-stack/http-client-fetch`

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

## 安装

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

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

## 快速使用

```typescript
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`。获取选项不能覆盖执行器拥有的方法、标题、正文或信号.

## 自定义获取和认证信头

```typescript
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](https://npmcn.com/package/apps/docs/docs/http-client/api/core.md) 用于合并、重试和超时细节.

## 文档

-   [快速启动](https://npmcn.com/package/apps/docs/docs/http-client/quickstart.md)
-   [常见模式](https://npmcn.com/package/apps/docs/docs/http-client/common-patterns.md)
-   [获取 API 文档](https://npmcn.com/package/apps/docs/docs/http-client/api/fetch.md)
-   [共享核心 API 文档](https://npmcn.com/package/apps/docs/docs/http-client/api/core.md)

## 常见问题

### @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 和提交记录判断。

