用途:NestJS 用于构建企业级 Node.js 应用,结合 TypeScript、依赖注入与模块化架构,适合需要强类型、可扩展与可维护服务端代码的场景。主要能力包括模块(Module)、控制器(Controller)与服务(Service)分层;依赖注入;DTO 与 class-validator 校验;JWT 认证与守卫(Guards);异常过滤器;TypeORM/Prisma 数据访问;微服务传输(如 RabbitMQ);GraphQL、WebSockets;以及单元测试模板。用法:通过 nest new project-name 创建项目,定义模块组织功能,添加控制器处理请求,创建服务承载业务逻辑。示例模块使用 @Module 声明 imports、controllers、providers 与 exports;控制器用 @Get、@Post、@Param、@Query 等装饰器;服务用 @Injectable 与构造函数注入。校验用 DTO,如 @IsEmail、@MinLength。鉴权用 JwtAuthGuard 或自定义 RolesGuard,需配合 @UseGuards。全局校验需添加 ValidationPipe。微服务用 NestFactory.createMicroservice 与 Transport 配置。适用场景:企业级 Node.js 后端、需要依赖注入与模块化的项目、微服务、需要 OpenAPI 文档的服务。限制与提示:常见问题包括循环依赖需用 forwardRef(),注入失败需检查模块 providers,校验未生效需添加 ValidationPipe,守卫未触发需检查 @UseGuards 使用;学习路径分入门、进阶与高级阶段,资料未提供具体版本、性能数据与收费信息。
nestjs
编程与开发
更新于 10-16 03:43