Published on

在 Express 中使用 Zod 进行数据验证

Authors
  • avatar
    Name
    Shelton Ma
    Twitter

1. 目录结构

当使用zod时, 不再需要dot层, 使用推断类型

src/
├─ app.ts                   # 应用入口
├─ server.ts                # 服务启动(监听端口)
├─ config/                  # 配置文件 (环境变量封装、常量)
│    └─ index.ts
├─ routes/                  # 路由定义
│    └─ user.route.ts
│    └─ auth.route.ts
├─ controllers/             # 控制器层
│    └─ user.controller.ts
│    └─ auth.controller.ts
├─ services/                # 服务层(业务逻辑)
│    └─ user.service.ts
│    └─ auth.service.ts
├─ validators/              # 请求校验 (可用 zod / joi / class-validator)
│    └─ user.validator.ts
├─ models/                  # 数据库模型
│    └─ user.model.ts
├─ utils/                   # 工具函数
│    └─ logger.ts
└─ middlewares/             # 中间件
    └─ error.middleware.ts
    └─ auth.middleware.ts

最佳实践参考zod 的使用 | validate