用途:该技能面向使用 NestJS 构建可扩展 Node.js 后端,提供模块化架构的实践模式与代码组织方式。
主要能力:
- 模块结构:给出 src 目录组织示例,包含 main.ts、app.module.ts、common(decorators、filters、guards、interceptors)以及 modules/users(module、controller、service、dto、entities)。
- 模块:用 @Module 装饰器声明 controllers、providers 与 exports。
- 控制器:用 @Controller('users') 定义路由,配合 @Get、@Post、@Patch、@Delete 与 @Param、@Body 处理请求。
- 服务:用 @Injectable 定义业务逻辑,示例中通过 PrismaService 访问数据库,包含 findAll、findOne、create、update、remove。
- DTO 与校验:使用 class-validator 的 @IsString、@MinLength、@IsEmail 等装饰器,并用 @nestjs/mapped-types 的 PartialType 生成更新 DTO。
- 异常处理:用 @Catch(HttpException) 实现 ExceptionFilter,返回统一错误结构。
- 守卫:用 @Injectable 实现 CanActivate,示例中通过 JwtService 校验 token 并挂载 request.user。
使用方式:按资料中的目录与代码模式组织项目,将模块、控制器、服务、DTO、实体分层;数据库集成示例采用 Prisma。
适用场景:需要模块化、可扩展的 Node.js 后端服务开发。
限制:资料未提供安装命令、依赖版本、收费或价格信息,也未说明具体平台与效果;示例代码需结合自身项目调整。