# @duplojs/zod-accelerator 中文文档

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

版本：2\.6\.2
npm 元数据更新时间：2026-08-14T22:09:56.523Z
中文译文更新时间：2026-11-13T00:32:41.354Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40duplojs/zod-accelerator
原文对照：https://npmcn.com/package/%40duplojs/zod-accelerator/?lang=original
项目主页：https://github.com/duplojs/zod-accelerator#readme
源码仓库：https://github.com/duplojs/zod-accelerator

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

- 包体积（解压后）：144 kB，43 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：zod \>=3\.0\.0 \<4\.0\.0
- 首次发布：2024-03-08T13:55:21.502Z
- 最新版本发布：2025-02-25T17:33:15.804Z
- 近 30 天下载量：3020（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：33（近 12 个月 0 个）

## 中文简介

[![NPM version](https://img.shields.io/npm/v/@duplojs/zod-accelerator)](https://www.npmjs.com/package/@duplojs/zod-accelerator)

## 安装

```sh
npm install @duplojs/zod-accelerator
```

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

## README

# @duplojs/zod-加速器

[![NPM version](https://img.shields.io/npm/v/@duplojs/zod-accelerator)](https://www.npmjs.com/package/@duplojs/zod-accelerator)

## 安装

```
npm i @duplojs/zod-accelerator
```

## 基准

![Benchmarck result](https://npmcn.com/benchmarck-result.png)

## 怎样用

```ts
import * as zod from "zod";
import {ZodAccelerator} from "@duplojs/zod-accelerator";

const zodSchema = zod.object({
    firstname: zod.string(),
    lastname: zod.string(),
    age: zod.number(),
    email: zod.string(),
    gender: zod.enum(["boy", "girl"]),
    connected: zod.boolean(),
    createdAt: zod.date(),
    addresse: zod.object({
        postCode: zod.string(),
        city: zod.string(),
        number: zod.number()
    }),
}).array();

const zodAccelerateSchema = ZodAccelerator.build(zodSchema);

const inputData = Array.from({length: 10}).fill({
    firstname: "  Mike ",
    lastname: "ee",
    age: 21,
    email: "test@gmail.com",
    gender: "girl",
    connected: true,
    createdAt: new Date(),
    addresse: {
        postCode: "22778",
        city: "Paris",
        number: 67
    },
});

const outputData = zodAccelerateSchema.parse(inputData);
```

## 什么时候用

当在同一会话中多次使用这个计划时,ZodAccelerator是有用的. 构建自定义函数的时间约为其执行时间的两倍. 如果你只需要叫一次你的计划, 它可能不是最好的解决方案.

## 怎么会这样

这个 `ZodAccelerator.build` 函数允许您根据作为参数通过的策略创建自定义函数。 该函数将用于创建实例 `ZodAcceleratorParser` 对象。 这使得它的用法与Zod相似.

```ts
zodSchema.parse(...)
zodAccelerateSchema.parse(...)

zodSchema.parseAsync(...)
zodAccelerateSchema.parseAsync(...)

zodSchema.safeParse(...)
zodAccelerateSchema.safeParse(...)

zodSchema.safeParseAsync(...)
zodAccelerateSchema.safeParseAsync(...)
```

### 对 Zod 类型的支持

为了构建自定义函数,我们已经为每种类型创建了转换器. 并非所有类型都得到支持。 然而,为避免相容性问题,当一个类型不被支持时,ZodAccelerator直接使用Zod schema. 查找支持的类别,请访问 [`scripts/accelerators`](https://npmcn.com/package/%40duplojs/zod-accelerator/scripts/accelerators/) 文件夹.

### 差异

ZodAccelerator创建的功能与Zod的基本功能相比有一些关键差异:

-   如有问题,计划分析不再继续,立即停止.
-   错误并不那么明确.
-   所有次要参数,如自定义消息,可能不会在任何地方被执行(可以根据请求完成).
-   佐德的背景 `zodEffect` 还不够完整.

### 如何创建自定义函数

对于Zod提供的每一种类型,我们有一个算法,将Zod schema中的信息翻译为一串代码. 最后,将不同的相关部分组装起来,并使用 `eval` 函数( 无法注入) .

### 缓存系统?

能否在文件中建立这些计划,然后给他们打电话而不是重建它们? 不幸的是,没有。 建筑是强制性的,因为除了内容外,我们还构建其背景(第1行)`this`) (中文(简体) ). 涉及 `ZodEffect` 类型,例如,相关函数被存储在上下文中。 因此,无法跳过施工阶段.

### 跳过 `eval` ? 吗?

如前所述,ZodAccelerator在节点程序启动后使用eval函数解释代码. 目前,似乎没有其他方法可行.

## 常见问题

### 如何安装 @duplojs/zod-accelerator？

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

### @duplojs/zod-accelerator 支持 TypeScript 吗？

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

### @duplojs/zod-accelerator 支持 ESM 还是 CommonJS？

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

### @duplojs/zod-accelerator 可以商用吗？

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

### @duplojs/zod-accelerator 的下载量有多少？

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

### @duplojs/zod-accelerator 还在维护吗？

最新版本 2\.6\.2 发布于 2025/02/26（1\.7 年前）；至今共发布 33 个版本，其中过去 12 个月发布了 0 个；首次发布于 2024/03/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

