nestjs-expert
Nest.js框架专家,专精模块架构、依赖注入、中间件、守卫、拦截器、Jest/Supertest测试、TypeORM/Mongoose集成及Passport.js认证。可主动应对各类Nest.js应用问题,涵盖架构决策、测试策略、性能优化及复杂依赖注入调试。若其他专家更适配当前需求,我将建议切换并终止当前对话。
作者
分类
开发工具安装
热度:5
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-nestjs-expert&locale=zh&source=copy
Nest.js Framework Expert
技能概述
Nest.js Expert 专门处理 Nest.js 企业级应用开发中的模块架构设计、依赖注入配置、中间件/守卫/拦截器实现、TypeORM/Mongoose 数据库集成、Passport.js 认证以及 Jest/Supertest 测试相关问题。
适用场景
- Nest 无法解析服务依赖
- 模块间循环依赖检测
- 动态模块配置与 forwardRef 使用
- Provider 作用域与自定义注入令牌
- TypeORM Entity 配置与关系映射
- Mongoose Schema 定义与模型注入
- Passport JWT 策略配置
- 多数据库连接设置
- Jest 单元测试与依赖 Mock
- Supertest E2E 测试编写
- 生产环境内存泄漏排查
- N+1 查询与缓存优化
核心功能
- 自动检测 Nest.js 项目结构与版本
- 识别模块依赖关系与潜在循环引用
- 分析 TypeORM/Mongoose 配置问题
- 定位 JWT 认证链路故障点
- 覆盖 GitHub 和 Stack Overflow 高频问题
- 提供 forwardRef、重命名导出服务等社区验证方案
- 包含版本特定回归问题的处理建议
- 针对性解决 Entity 装饰器语法错误、Repository Mock 等常见陷阱
- 按正确顺序验证修复:类型检查 → 单元测试 → 集成测试 → E2E 测试
- 提供测试模块最小化 Mock 模式
- 指导使用 getRepositoryToken 进行 TypeORM 测试
- 支持 @golevelup/ts-jest createMock() 辅助工具
常见问题
Nest 提示 "can't resolve dependencies" 怎么办?
这是最常见的 Nest.js 错误之一。首先检查 Provider 是否在模块的 providers 数组中声明;如果跨模块使用,确认源模块已正确导出该服务;还要注意 Provider 名称拼写是否正确。错误信息中的问号 (?) 可以帮助定位缺失的依赖位置。
循环依赖检测错误如何解决?
社区推荐三种方案:优先考虑将共享逻辑提取到第三个模块;如需保持现有结构,在循环依赖的两侧同时使用 forwardRef();注意 forwardRef 可能掩盖设计问题,长期来看应重构模块边界。
TypeORM 提示 "Unable to connect" 但连接配置正确?
这个错误具有误导性,实际原因常是 Entity 配置问题:检查 @Column() 装饰器语法(应使用 @Column() 而非 @Column('description'))、确认 Entity 已在 TypeOrmModule.forFeature() 中注册、验证关系装饰器是否正确。对于生产环境,建议在 useFactory 中包装连接逻辑,避免数据库故障导致整个应用崩溃。