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

介紹

Zod logo

Zod

具有靜態類型推斷的 TypeScript 優先架構驗證
@colinhacks 開發


Zod CI statusCreated by Colin McDonnellLicensenpmstars
Website  •  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 = { /* stuff */ };
 
// 解析結果經過驗證且類型安全!
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 還提供了一個 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