DS Express Errors(集中错误库)— v1.8.0 与 v1.8.1 发布说明

发布: (2026年1月12日 GMT+8 12:34)
2 分钟阅读
原文: Dev.to

Source: Dev.to

v1.8.0 – 2026年1月11日

新功能

  • 自定义错误类 – 通过 setConfig 提供您自己的错误类(例如 Zod、Joi),以实现更严格的验证。
  • 选择性映射器 – 通过配置仅启用所需的映射器,减少不必要的检查。
  • 限流日志记录器 – 新增 maxLoggerRequests(默认每分钟 100 次请求),防止日志记录器过载。
  • 彩色日志输出 – 内置日志记录器现在支持颜色,便于阅读。
  • 新增 Prisma 错误码 – 添加对 P2005P2006P2007P2011P2027 的处理。
  • 额外错误类型 – 现在提供 Errors.GatewayTimeout(message)

映射器改进

  • Express‑validator – 修复了错误的逻辑。
  • Mongoose – 修正了状态码处理,并在内部 safeStringify 方法中添加了对 BigInt 的检查。
  • Sequelize – 修正了状态码处理,并更新映射以包括:
    • SequelizeOptimisticLockError
    • SequelizeEmptyResultError
    • SequelizeDatabaseError
    • SequelizeConnectionError
    • SequelizeTimeoutError
  • Prisma – 扩展了错误处理并细化了验证逻辑。

日志记录器重构

  • 添加了对 自定义日志记录器 的支持。
  • 修复了 logDebug 缺少 api 导入的问题。

配置要点

// Example snippet for enabling selective mappers and rate limiting
dsExpressErrors.setConfig({
  mappers: {
    zod: true,
    joi: true,
    // disable others you don't need
  },
  maxLoggerRequests: 100, // max log entries per minute
  // optional: provide your own error classes
  errorClasses: {
    ZodError: ZodError,
    JoiError: Joi.ValidationError,
  },
});

有用链接

Back to Blog

相关文章

阅读更多 »

你好,我是新人。

嗨!我又回到 STEM 的领域了。我也喜欢学习能源系统、科学、技术、工程和数学。其中一个项目是…