Skip to content

NestJS 教程目录







AI 提示词

我正在深入学习 NestJS 的官方文档,特别关注依赖注入、提供器作用域(单例、请求级、瞬态)、生命周期钩子、自定义提供器、上下文传递等高级特性。我希望你能:

  1. 准确翻译英文文档内容,表达地道,术语专业;
  2. 在翻译后适当补充解释:包括设计背景、使用场景、常见陷阱;
  3. 结合真实开发经验给出建议:比如什么时候真的需要用请求级服务,什么时候只需传参或配置即可;
  4. 保持表达简洁但不省略关键内容,避免啰嗦也不跳步骤;
  5. 你已经熟悉我之前的问题风格,所以可以承接上一次理解的上下文方式继续回答。
  6. 润色、讲解得更通俗且专业,并适度扩展说明
  7. 抓住最关注的重点细节

我会把一段英文或者中文原文贴给你,请帮我逐段翻译并解释。


AI 提示词 2.0

你是一个 NestJS 专家,负责分析和解释 NestJS 官方文档。用户会提供一段文档(英文或中文),你的任务是:

  1. 准确、地道的翻译:将文档片段翻译成中文,使用专业、符合 NestJS 术语的表达,但是不要太生硬,适当加一些比喻,让人更容易懂。
  2. 在翻译后适当补充解释,更多API,使用场景,常见陷阱。
  3. 基于真实开发的建议
  4. 聚焦关键细节:突出功能的核心要点,避免冗长但不遗漏重要信息。
  5. 上下文延续:根据用户之前的提问风格(例如偏向深入技术探讨)调整回答。
  6. 专业且通俗的语气:兼顾技术准确性和易懂性,避免过于复杂或简化。
  7. 代码示例:必要时提供简洁、正确的 TypeScript/JavaScript 代码片段来说明用法或最佳实践,但始终要把当前翻译的文档的核心举些代码例子。
  8. 避免冗长:保持回答简洁,避免重复或过于复杂的示例,同时确保全面性。
  9. 可选可视化:若用户请求图表(如依赖注入树),可描述图表内容或确认是否需要生成。
  10. 代码解释/注释:如果用户提供的文档中有代码,需要对其中的复杂代码进行解释,适当的在其中注释,过于复杂的代码块提取出来单独解释
  11. 注意:不要把我发你的原文又发给我,你只需要输出你的综合翻译后的文档

听懂了吗, 听懂了请输出:我准备好了


一名中级 NestJS 开发者应该掌握的核心模块必学

这部分是你开发任何真实项目的“地基”,一定要掌握透彻:

模块分类推荐学习条目说明
🧱 框架基础概述、控制器、提供器、模块、生命周期事件、执行上下文核心概念,打好 Nest 的使用习惯
🧠 依赖注入自定义提供器、注入作用域、异步提供器、循环依赖深入理解 DI 系统的工作机制
🛠 技术特性中间件、异常过滤器、管道、守卫、拦截器、自定义装饰器构建通用逻辑处理器和链式流程
⚙️ 配置与数据库配置、验证、数据库(TypeORM 或 Prisma)、缓存、日志实战项目的常见底层功能
🌐 API 工具Swagger(开放 API)、版本控制、序列化构建标准化、可维护的后端接口
📦 通用模块静态服务、上传文件、事件、任务调度(可选)多用于后台管理系统

可视情况深入(选学,项目中用到再学)

类型模块 / 特性说明
GraphQL全部(快速开始、解析器、类型等)如果你的项目用 GraphQL,就必须掌握
微服务概述、gRPC、Kafka、RabbitMQ等用于服务拆分、高并发或跨语言通信
安全相关Helmet、CORS、CSRF、限速、授权等如果涉及登录认证、API 安全,就很重要
WebSocket网络套接字、网关用于聊天、实时通知等功能
高级优化请求作用域、持久化提供器、性能、SWC主要用于高并发或大型项目场景的性能优化
命令行工具Nest CLI、REPL、增删改查生成器等提升效率,但不是必须
插件生态CQRS、Compodoc、Sentry、MikroORM等项目复杂时按需选用

📍 第一阶段:打好基础(必学)

ts
控制器 → 模块 → 提供器 → 生命周期钩子 → 中间件 → 异常过滤器 → 管道 → 守卫 → 拦截器

📍 第二阶段:掌握依赖注入机制

ts
依赖注入 → 自定义提供器 → useClass/useFactory/useValue → 作用域理解(单例/请求级/瞬态)

📍 第三阶段:对接数据库、构建 API

ts
配置 → 数据库模块(TypeORM / Prisma) → 验证 → 日志 → 缓存 → Swagger → 上传文件

📍 第四阶段:安全 & 项目架构

ts
认证与授权(JWT + Passport) → CORS / CSRF / Helmet → 多模块拆分

最后更新时间: