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 错误码 – 添加对
P2005、P2006、P2007、P2011、P2027的处理。 - 额外错误类型 – 现在提供
Errors.GatewayTimeout(message)。
映射器改进
- Express‑validator – 修复了错误的逻辑。
- Mongoose – 修正了状态码处理,并在内部
safeStringify方法中添加了对BigInt的检查。 - Sequelize – 修正了状态码处理,并更新映射以包括:
SequelizeOptimisticLockErrorSequelizeEmptyResultErrorSequelizeDatabaseErrorSequelizeConnectionErrorSequelizeTimeoutError
- 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,
},
});