Published onMarch 20, 2025Express 处理同步/异步错误 | asyncHandler | errorHandlerexpressbest-practices在 Express 中,你可以在 controller 层抛出异常,而不需要在每个 server 层使用 try-catch 来捕获异常.最佳实践是通过全局错误处理中间件来统一处理异常.这样可以更简洁地管理错误逻辑,避免冗余的 try-catch 代码.
Published onMarch 19, 2025在搭建 AI 会话 API 时,选择 WebSocket 还是 HTTP + Stream 返回ai-companionWebSocket在搭建 AI 会话 API 的场景中, 可以结合两者优势, 使用 `HTTP + 流式返回` 处理初始响应,快速获取第一段回复, 使用 `WebSocket` 维护后续的对话,实现更顺畅的交互体验.
Published onMarch 19, 2025ODM(Object Data Modeling)工具 - mongoosemongodbexpressbest-practices在 Express 中使用 mongoose 作为 ODM 工具, 正确设置索引, 并启用时间戳自动更新, 可以考虑使用 nanoid 代替默认 ObjectId
Published onMarch 19, 2025在 Express 中使用 Zod 进行数据验证expresszod在 Express.js 中使用 Zod 可以有效提升数据验证和类型安全性.Zod 提供了一种直观、声明式的方式来定义和验证数据结构.
Published onMarch 19, 2025zod 的使用 | validatezodbest-practices如果项目中已使用 express-validator,无需特意迁移到 zod;若项目正在启动且以 TypeScript 为主,zod 是更现代的选择.