Published on

Express 最佳实践整理

Authors
  • avatar
    Name
    Shelton Ma
    Twitter

1. Express 项目 目录及命名规范

  1. Express 项目结构最佳实践:中间件 / 服务 / 控制器的组织

2. 中间件相关

  1. 参数验证: 使用 validateRequest 中间件进行参数校验, 参考: zod 的使用 | validate
  2. 响应格式化: 使用 responseHandler 中间件统一响应格式, 参考: Express 使用中间件 responseHandler 格式化响应数据
  3. 错误捕获与处理: 使用 asyncHandler中间件同时捕获同步异常和异步异常, 最终在 errorHandler 错误处理中间件中统一处理, 参考: Express 处理同步/异步错误 | asyncHandler
  4. 日志中间件: 使用 pinoHttp 统一捕获http日志, 使用 pino-pretty/pino-caller 在开发环境优化日志显示, 参考: Express 项目的日志处理 | pino

3. 定时任务

  1. 设置定时任务时, 可以与 http 服务分开, 参考: 在 Express 中使用 node-cron 集成定时任务
  2. 为定时任务添加装饰器以保留任务执行记录

4. 日志标准化及接入ES