SuperAPI AI 工具集

nodejs-best-practices

编程与开发

查看项目

更新于 10-16 05:51

技能介绍

该技能用于指导 Node.js 开发中的决策,而非提供可直接复制的固定代码。核心主张是让开发者根据上下文选择框架与模式,不默认套用同一方案;信息不明时应询问用户偏好。

用途与主要能力:覆盖框架选型、运行时考量、架构、错误处理、异步模式、输入校验、安全、测试与反模式等主题。框架选型给出决策树:边缘或 Serverless 场景倾向 Hono,高性能 API 倾向 Fastify,企业级或团队熟悉度高选 NestJS,遗留项目或追求生态成熟度选 Express,全栈项目可选 Next.js API Routes 或 tRPC;并从冷启动、生态、TypeScript 支持、学习曲线等维度对比。

运行时方面提及 Node.js 22+ 的 --experimental-strip-types 可直接运行 .ts 文件,新项目倾向 ESM,遗留代码可用 CommonJS,并按通用、性能、安全优先等需求在 Node.js、Bun、Deno 间选择。架构建议采用控制层、服务层、仓储层分层;错误处理主张自定义错误类、顶层中间件统一捕获与统一响应,并区分客户端信息与日志信息,附常见 HTTP 状态码选择建议。

异步部分区分 async/await、Promise.all、Promise.allSettled、Promise.race 的适用场景,指出 I/O 密集受益于异步而 CPU 密集应使用 worker thread 或卸载,避免阻塞事件循环。校验强调在边界处校验,并对比 Zod、Valibot、ArkType、Yup。安全以清单形式列出输入校验、参数化查询、密码哈希、JWT 校验、限流、安全响应头、HTTPS、CORS、密钥管理与依赖审计。测试区分单元、集成、E2E,并介绍 Node.js 22+ 内置 node --test。

使用方式与限制:内容以原则、对比表和检查清单呈现,未提供可直接运行的完整示例或安装命令,也未说明价格、收费、平台或效果数据;缺失事实暂未提供。