本页面介绍如何在不同 JavaScript 环境中安装 Zod 并设置您的开发环境以实现最佳使用。有关安装后如何使用 Zod 的基本示例,请参阅基本用法示例。
Zod 是一个 TypeScript 优先的模式验证库,提供强大的类型推断。它可以在各种 JavaScript 环境中使用,包括
Zod 旨在与 TypeScript 协同工作,并要求最低 TypeScript 版本为 4.5+。为获得最佳体验,建议使用 TypeScript 5.0+。
Zod 支持 Node.js 12 及更高版本。
Zod 还通过专用分发版开箱即用地支持 Deno。
来源:package.json46-47 .github/workflows/test.yml15-19
您可以直接在 Deno 项目中导入 Zod
通过 CDN 加载时,Zod 作为名为 Zod 的全局变量可用。
来源:package.json1-122 .github/workflows/release.yml28-34
Zod 包的结构旨在支持多种模块格式
来源:package.json9-10 package.json50-57
来源:package.json9-10 package.json50-57 index.d.ts1-3
为了获得 Zod 的最佳开发体验,请确保您的 tsconfig.json 包含以下设置
strict 模式,尤其是 strictNullChecks,对于 Zod 正确推断可空类型至关重要。
要验证 Zod 是否正确安装,请创建一个简单的测试文件
TypeScript 版本错误
如果您遇到类型错误,请确保您使用的是 TypeScript 4.5 或更高版本。更新您的 TypeScript 版本
模块解析问题
如果您在导入 Zod 时遇到问题,请检查您的 tsconfig.json 中的模块解析设置
Deno 导入错误
如果在 Deno 中导入失败,请确保您使用了正确的导入 URL 并设置了适当的权限
ESM/CommonJS 兼容性
对于 Node.js 项目,如果您遇到 ESM/CommonJS 互操作性问题,请检查您的 package.json 是否为您的项目结构设置了正确的 type 字段。
来源:.github/workflows/test.yml11-71 package.json86-114
对于那些对 Zod 构建方式感兴趣的人(有助于故障排除或贡献)
构建过程从相同的源代码创建不同的输出格式,确保在各种 JavaScript 环境中的兼容性。
来源:package.json86-99 .github/workflows/release.yml38-45
Zod 旨在在不同的 JavaScript 运行时中无缝工作
| 环境 | 导入方法 | 包格式 |
|---|---|---|
| Node.js | import { z } from "zod";const { z } = require("zod"); | ESM (.mjs)CommonJS ( .js) |
| Deno | import { z } from "https://deno.land/x/zod/mod.ts"; | ESM (Deno) |
| 浏览器 | import { z } from "zod";const Zod = window.Zod; | ESM (通过打包工具) UMD (通过 CDN) |