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 中包装连接逻辑,避免数据库故障导致整个应用崩溃。