技能 nodejs-backend-patterns
📦

nodejs-backend-patterns

安全

构建生产级Node.js后端服务

也可从以下获取: wshobson

创建健壮的Node.js后端需要理解复杂的架构模式和最佳实践。本技能提供全面的指导,帮助您使用现代框架构建可扩展、安全的后端服务。

支持: Claude Codex Code(CC)
🥉 74 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“nodejs-backend-patterns”。 如何为Express API设置限流?

预期结果:

将express-rate-limit与Redis结合使用进行分布式限流。为通用API端点和认证端点配置单独的限流规则。示例:apiLimiter允许每15分钟100次请求,而authLimiter允许每15分钟5次请求并执行更严格的限制。

正在使用“nodejs-backend-patterns”。 在Express中处理错误的正确方法是什么?

预期结果:

创建自定义错误类,为不同错误类型(ValidationError、NotFoundError、UnauthorizedError)扩展Error。实现全局错误处理中间件来记录错误并返回适当的HTTP状态码,同时在生产环境中不暴露内部详情。

安全审计

安全
v1 • 2/24/2026

This is an educational/documentation skill providing Node.js backend development guidance through markdown code examples. All static analysis findings are false positives - the detected patterns are instructional code samples in markdown format, not executable skill logic. No actual security risks detected.

2
已扫描文件
1,058
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

API开发

使用适当的中间件、验证和错误处理构建用于生产应用的REST或GraphQL API。

微服务架构

使用依赖注入、适当日志记录和服务间通信模式设计可扩展的微服务。

学习现代Node.js

学习Node.js应用中认证、数据库访问、缓存和错误处理的行业标准模式。

试试这些提示

基础Express设置
帮我创建一个带有安全中间件、请求日志记录和错误处理的基础Express.js服务器。包括TypeScript类型和适当的配置。
认证系统
设计一个基于JWT的认证系统,包含登录、注册和令牌刷新端点。包括使用bcrypt的密码哈希和适当的错误处理。
数据库层设计
为PostgreSQL创建仓储模式实现,包含连接池、参数化查询和订单管理系统的事务支持。
完整微服务
使用Fastify设计一个完整的微服务架构,包含依赖注入、健康检查、指标端点和优雅关闭处理。

最佳实践

  • 始终使用TypeScript以获得类型安全和更好的IDE支持
  • 使用Zod等库在处理前验证所有用户输入
  • 使用环境变量进行配置,切勿将密钥提交到版本控制

避免

  • 在生产环境中使用通配符CORS来源
  • 以明文形式存储密码或令牌等敏感数据
  • 使用同步操作或复杂计算阻塞事件循环

常见问题

我应该为项目使用Express还是Fastify?
Express拥有更大的生态系统且已相当成熟。Fastify通过内置模式验证提供更好的性能。选择Express以获得最大兼容性,或选择Fastify以获得高吞吐量API。
如何在Node.js中处理数据库迁移?
使用Knex、Prisma或typeorm等迁移工具。将迁移定义为可应用或回滚的版本控制文件。在部署期间启动应用之前运行迁移。
Node.js API的推荐项目结构是什么?
使用分层架构:控制器处理HTTP请求,服务包含业务逻辑,仓储管理数据访问。将配置、中间件、类型和工具放在单独的目录中。
如何在Node.js中实现认证?
使用JWT进行无状态认证,搭配短期访问令牌和更长期限的刷新令牌。使用bcrypt或argon2哈希密码。将密钥存储在环境变量中并定期轮换。
生产环境中应该使用什么日志方法?
使用Pino或Winston进行结构化日志记录。包含用于跨服务跟踪请求的相关ID。记录到stdout并使用ELK堆栈或云日志服务等工具聚合日志。
如何确保我的Node.js API可以处理高流量?
为数据库实现连接池,添加Redis缓存,对响应使用压缩,启用集群以使用所有CPU核心,并实施适当的限流以防止滥用。