💎 Zod 4 is now stable!  Read the announcement.
Zod logo

简介

Zod logo

Zod

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


Zod CI 状态由 Colin McDonnell 创建许可证npmstars
网站  •  Discord  •  𝕏  •  Bluesky

Zod 4 现已稳定!点击此处阅读发布说明




Featured sponsor: Jazz

Jazz logo

Interested in featuring? Get in touch.

简介

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 也可作为 @zod/zodjsr.io 上获取。

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 驱动。

赞助商

无论金额多少,我们都非常感谢并鼓励赞助。如果您使用 Zod 构建了付费产品,请考虑其中一个 企业层级

白金赞助商

CodeRabbit logo (light theme)

Cut code review time & bugs in half

coderabbit.ai


金牌赞助商

Courier logo (light theme)

The API platform for sending notifications

courier.com
Liblab logo (light theme)

Generate better SDKs for your APIs

liblab.com
Neon logo (light theme)

Serverless Postgres — Ship faster

neon.tech
Retool logo (light theme)

Build AI apps and workflows with Retool AI

retool.com
Stainless logo (light theme)

Generate best-in-class SDKs

stainlessapi.com
Speakeasy logo (light theme)

SDKs & Terraform providers for your API

speakeasy.com

银牌赞助商


铜牌赞助商


On this page