SuperAPI AI 工具集

nodejs-expert

编程与开发

查看项目

更新于 10-16 01:37

技能介绍

用途:这是一份供 AI 在执行过程中阅读的 Node.js 参考,聚焦常见陷阱(gotchas)与技术选型决策,帮助在写 Node.js 代码时避开典型错误。

主要能力:

  1. 选型决策:Express vs NestJS vs Fastify(Express 适合简单 API,NestJS 适合企业级/依赖注入/装饰器,Fastify 追求高性能);Prisma vs TypeORM vs Drizzle(Prisma 类型与开发体验好,TypeORM 用 Active Record 模式,Drizzle 偏 SQL 风格且轻量);Zod vs Joi vs class-validator(Zod 面向 TS 类型推断,Joi 为运行时 schema,class-validator 配合 NestJS 装饰器);JWT vs session(JWT 无状态、适合微服务,session 适合单体或服务端渲染)。
  2. 常见陷阱:forEach 搭配 async 不会等待,应改用 for...of 或 Promise.all(items.map(async ...));Express 错误处理中间件必须写 4 个参数 (err, req, res, next),否则会被忽略;Node 15+ 未处理的 Promise rejection 会导致进程崩溃,需捕获或监听 process.on('unhandledRejection');可用 asyncHandler 包装 Express 路由以捕获异步错误并传给 next(err);未加 express.json() 中间件时 req.body 为 undefined;process.env.PORT 是字符串,比较前需 parseInt() 或 Number();NestJS 中 @Injectable() 需在 @Module({ providers: [...] }) 注册,否则运行时报错;大流量写入流需处理 drain 事件以应对背压;ESM 下没有 __dirname,可用 import.meta.dirname(Node 21+)或 fileURLToPath(import.meta.url)。

使用方式:作为 AI 执行时的参考资料读取;涉及 Express/NestJS/Fastify 文档时建议使用 Context7。人类可读说明见 docs/architecture/HIERARCHICAL_PLANNING.md 或 docs/getting-started/(视主题而定)。

适用场景:编写或审查 Node.js 后端代码、做框架与库选型、排查异步与中间件相关问题时。

限制:资料未提供安装命令、版本要求、收费与平台信息;内容为要点式参考,未覆盖全部 Node.js 主题。