💎 雨云 RainYun - 企业级云计算服务提供商
Zod logo

简介

编辑此页面
Zod logo

Zod

TypeScript 优先的模式验证与静态类型推断
作者 @colinhacks


Zod CI 状态由 Colin McDonnell 创建许可证npmStar 数
简中文档  •  Zod 文档  •  Discord  •  𝕏  •  Bluesky

Zod 4 已稳定发布!阅读发行说明

介绍

Zod 是一个 TypeScript 优先的验证库。使用 Zod,你可以定义模式来验证数据,从简单的 string 到复杂的嵌套对象。

import * as z from "zod";
 
const User = z.object({
  name: z.string(),
});
 
// 一些不可信的数据...
const input = { /* 内容 */ };
 
// 解析结果是验证过且类型安全的!
const data = User.parse(input);
 
// 因此你可以放心使用 :)
console.log(data.name);

特性

  • 零外部依赖
  • 支持 Node.js 和所有现代浏览器
  • 极简:核心包大小 2kb(压缩后)
  • 不可变 API:方法返回新实例
  • 简洁接口
  • 支持 TypeScript 和普通 JS
  • 内置 JSON Schema 转换
  • 丰富的生态系统

安装

npm install zod

Zod 也可以在 jsr.io 上以 @zod/zod 的形式获取。

Zod 提供一个 MCP 服务器,供代理搜索 Zod 的文档。要将其添加到您的编辑器,请按照 这些说明 操作。Zod 还提供一个 llms.txt 文件。

要求

Zod 在 TypeScript v5.5 及更高版本中测试通过。较旧版本可能可用,但不正式支持。

"strict"

你必须在 tsconfig.json 中启用 strict 模式。这是所有 TypeScript 项目的最佳实践。

// tsconfig.json
{
  // ...
  "compilerOptions": {
    // ...
    "strict": true
  }
}

生态系统

Zod 拥有一个繁荣的库、工具和集成生态系统。请参阅 生态系统页面 以获取支持 Zod 或基于 Zod 构建的库的完整列表。

我还参与了以下项目,想要特别强调:

  • tRPC - 端到端类型安全的 API,支持 Zod 模式
  • React Hook Form - 基于 Hook 的表单验证,带有 Zod 解析器
  • zshy - 最初作为 Zod 的内部构建工具创建。无捆绑、内置电池的 TypeScript 库构建工具。由 tsc 提供支持。

On this page