# @frontmcp/lazy-zod 中文文档

规范地址：https://npmcn.com/package/%40frontmcp/lazy-zod/

版本：1\.12\.2
npm 元数据更新时间：2026-11-14T21:10:34.693Z
中文译文更新时间：2026-11-15T15:08:06.239Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40frontmcp/lazy-zod
原文对照：https://npmcn.com/package/%40frontmcp/lazy-zod/?lang=original
项目主页：https://frontmcp.dev/reference/sdk#z-eagerz-and-lazyz
源码仓库：https://github.com/agentfront/frontmcp

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

- 包体积（解压后）：56.5 kB，14 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=24\.0\.0
- 运行依赖：0 个
- peer 依赖：zod ^4\.0\.0
- 首次发布：2026-04-19T01:29:10.639Z
- 最新版本发布：2026-11-14T21:10:34.326Z
- 近 30 天下载量：13397（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：78（近 12 个月 78 个）

## 中文简介

Zod 4's z 有先用后制成的复合化学剂,用于更快的起动. 出口z(懒惰)、渴望Z(佐德自己的)和懒惰Z

## 安装

```sh
npm install @frontmcp/lazy-zod
```

也可以使用：`pnpm add @frontmcp/lazy-zod`、`yarn add @frontmcp/lazy-zod`、`bun add @frontmcp/lazy-zod`

## README

# @frontmcp/lazy-zod (英语)

佐德四号 `z`和复合计划一样 `z.object()` 建造它们第一次被使用,而不是模块加载时. 一个过程定义了许多计划,但每跑很少使用它们,如CLI,无服务器功能或边工,开始得更快. 这是一个内部包: `@frontmcp/sdk` 全部重新导出, 因此在 FrontMCP 服务器导入中 `z`, (中文(简体) ), `eagerZ` 财务报告和审定财务报表 `lazyZ` 从 `@frontmcp/sdk`. 它不依赖于FrontMCP的其他部分,因此也可以自行使用.

[![npm](https://img.shields.io/npm/v/@frontmcp/lazy-zod.svg)](https://www.npmjs.com/package/@frontmcp/lazy-zod) [![License](https://img.shields.io/npm/l/@frontmcp/lazy-zod.svg)](https://github.com/agentfront/frontmcp/blob/main/LICENSE)

## 安装

```bash
npm install @frontmcp/lazy-zod zod
```

`zod` `^4.0.0` 是一个对等依赖: 包包您安装的 Zod 。 Zod 3没有支持。 它需要节点.js 24或后.

## 使用量

导入 `z` 从这里而不是从 `zod`数字 :

```ts
import { eagerZ, lazyZ, toJSONSchema, z } from '@frontmcp/lazy-zod';

const Ticket = z.object({
  title: z.string().min(5),
  customer: z.object({ email: z.string().email() }).optional(),
});

type Ticket = z.infer<typeof Ticket>;

const ticket: Ticket = Ticket.parse({ title: 'Cannot log in' });

const jsonSchema = toJSONSchema(Ticket);

const Built = eagerZ.object({ id: eagerZ.string() });

const Deferred = lazyZ(() => eagerZ.object({ id: eagerZ.string() }));
```

`z.object()`, (中文(简体) ), `z.strictObject()`, (中文(简体) ), `z.looseObject()`, (中文(简体) ), `z.union()`, (中文(简体) ), `z.discriminatedUnion()`, (中文(简体) ), `z.intersection()`, (中文(简体) ), `z.record()` 财务报告和审定财务报表 `z.tuple()` 返回一个待命。 真正的"Zod"计划是第一次使用站台时建造的,通过剖析或读取像"地"这样的地物 `.shape`,和方法你 链上,喜欢 `.optional()`临Τ return 在第一次分析之后, `parse`, (中文(简体) ), `safeParse`, (中文(简体) ), `parseAsync` 财务报告和审定财务报表 `safeParseAsync` 直接给Zod打电话 其他工厂一样 `z.string()` 财务报告和审定财务报表 `z.enum()`这是Zod的自已.

一个站着的行为就像它所代表的计划: 它把同样的, `instanceof ZodObject` 实值 `true`,以及 `z.infer` 给出相同的类型.

| 导出 | 这是什么 |
| --- | --- |
| `z` (也是默认导出) | 佐德四号 `z`上面的工厂被推迟了. |
| `eagerZ` | 佐德自己来的 `z`用它来做一个计划,只要它被定义,它就会读出来. |
| `lazyZ(build)` | 一个叫 `build()` 第一次使用,只有那时. |
| `internalZ` | FrontMCP的软件包是用什么打造他们的计划. 每个工厂,包括叶子, 返回站台,一个站台建起它的叶子。 佐德的循环检查没有附着在他们身上,所以一个递归式计划是用 `z`。它不是公共API的一部分,可以在任何发布中更改:使用 `z`。 。 。 . |
| `isLazy(schema)` | `true` 一个站立,从 `z` 或从 `lazyZ()`。 。 。 . |
| `forceMaterialize(schema)` | 真正的"Zod"计划 里面的每个站点都在里面. |
| `hasTransform(schema)` | `true` 当计谋在树上转动的时候`.transform()`, (中文(简体) ), `z.preprocess()`, (中文(简体) ), `.pipe()`,一个编码器),所以它描述的可以与其输入的形状不同. |
| `toJSONSchema(schema)` | Zod的 JSON Schema 转换器,运行在 `forceMaterialize(schema)`用它来代替Zod自己的 `z.toJSONSchema()`,该投出 `TypeError: Cannot set properties of undefined (setting 'ref')` 当计划中的物体或结合是 `.optional()` 或有一个 `.default()`。 。 。 . |
| `ZodObject`, (中文(简体) ), `ZodError`,, , , , , , , , | 佐德的班级和类型(`ZodTypeAny`, (中文(简体) ), `infer`, (中文(简体) ), `input`, (中文(简体) ), `output`),所以您的代码不需要导入 `zod`。 。 。 . |

## 业绩

这个包的原型是在1,515个生成的计程器上测出,被捆绑成一个文件,在Node.js 24(30跑的medians)上:

| 度量衡 | Zod's (Zod's) (美国英语) `z` | 懒惰 `z` |
| --- | --- | --- |
| 启动 | 387分钟 | 7.1毫秒(每秒) |
| 一个计划的第一个解析 | 0.45 分钟 | 1.47分钟 |
| 每个计划的第一个解析 | 235分钟 | 616分钟 |
| 每个方案第二段 | 31.0毫秒 | 31.0毫秒 |
| 套装大小 | 1.69 甲基溴 | 1.70 甲基溴 |

作品没有被删除,而是被移动了:每个计划在第一次解析时成本更高. 当一个过程经常开始时,懒惰的作案方法会有所回报,只使用其中的一些作案方法. 基准及其方法和全部结果为: [`apps/poc-lazy-zod`](https://github.com/agentfront/frontmcp/blob/main/apps/poc-lazy-zod/results/README.md)。 。 。 .

## 文档

-   [`z`, (中文(简体) ), `eagerZ` 财务报告和审定财务报表 `lazyZ`](https://frontmcp.dev/reference/sdk#z-eagerz-and-lazyz): FrontMCP 如何使用此软件包
-   [Schemas是合同](https://frontmcp.dev/learn/schemas-are-contracts): 为工具编写输入方案

## 相关软件包

-   [`@frontmcp/sdk`](https://www.npmjs.com/package/@frontmcp/sdk):再出口此软件包。 在FrontMCP服务器中使用.
-   [`zod`](https://www.npmjs.com/package/zod): 此套件的图案库 .

## 捐款

资料来源: [`libs/lazy-zod`](https://github.com/agentfront/frontmcp/tree/main/libs/lazy-zod)欢迎提出问题和拉动请求;见 [捐款额](https://github.com/agentfront/frontmcp/blob/main/CONTRIBUTING.md)。 。 。 .

## 许可证

阿帕奇2.0 (英语). 见 [自由主义](https://github.com/agentfront/frontmcp/blob/main/LICENSE)。 。 。 .

## 常见问题

### @frontmcp/lazy-zod 是什么？

Zod 4's z 有先用后制成的复合化学剂,用于更快的起动\. 出口z\(懒惰\)、渴望Z\(佐德自己的\)和懒惰Z

### 如何安装 @frontmcp/lazy-zod？

在项目目录运行 npm install @frontmcp/lazy-zod，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：zod（^4\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @frontmcp/lazy-zod 支持 TypeScript 吗？

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

### @frontmcp/lazy-zod 支持 ESM 还是 CommonJS？

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

### @frontmcp/lazy-zod 需要什么版本的 Node\.js？

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

### @frontmcp/lazy-zod 可以商用吗？

@frontmcp/lazy-zod 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @frontmcp/lazy-zod 的下载量有多少？

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

### @frontmcp/lazy-zod 还在维护吗？

最新版本 1\.12\.2 发布于 2026/11/15（1 天前）；至今共发布 78 个版本，其中过去 12 个月发布了 78 个；首次发布于 2026/04/19。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

