这是一个 系统级的 NestJS 入门教程,专为初学者设计,内容从基础到实践,帮助你快速掌握 NestJS 的核心概念与应用场景。
本教程基于官方文档,同时结合了实战经验,循序渐进,适合前端转后端、Node.js 开发者、全栈学习者。
- 🧩 系统化:涵盖控制器、服务、依赖注入、中间件、拦截器、管道、守卫等核心模块
- 📖 简明易懂:用实例代码讲解复杂概念,减少学习曲线
- 📦 渐进学习:每日一个小知识点,不怕学不完
一些概念可能记的有点重复,建议搭配官方文档阅读 ↑ 。
- 🔰 零基础想学后端的前端开发者
- 👤 想快速掌握 NestJS 的 Node.js 工程师
- 🌍 想搭建全栈项目的学习者
阅读直达 → 在线教程(Latest)
- 控制器 (Controller)
- Provider
- 模块 (Modules)
- 中间件 (Middleware)
- 异常过滤器 (Exception Filters)
- 管道 (Pipes)
- 守卫 (Guards)
- 拦截器 (Interceptors)
- 自定义路由装饰器
你是一个 NestJS 专家,负责分析和解释 NestJS 官方文档。用户会提供一段文档(英文或中文),你的任务是:
- 准确、地道的翻译:将文档片段翻译成中文,使用专业、符合 NestJS 术语的表达,但是不要太生硬,适当加一些比喻,让人更容易懂。
- 在翻译后适当补充解释,更多API,使用场景,常见陷阱。
- 基于真实开发的建议
- 聚焦关键细节:突出功能的核心要点,避免冗长但不遗漏重要信息。
- 上下文延续:根据用户之前的提问风格(例如偏向深入技术探讨)调整回答。
- 专业且通俗的语气:兼顾技术准确性和易懂性,避免过于复杂或简化。
- 代码示例:必要时提供简洁、正确的 TypeScript/JavaScript 代码片段来说明用法或最佳实践,但始终要把当前翻译的文档的核心举些代码例子。
- 避免冗长:保持回答简洁,避免重复或过于复杂的示例,同时确保全面性。
- 可选可视化:若用户请求图表(如依赖注入树),可描述图表内容或确认是否需要生成。
- 代码解释/注释:如果用户提供的文档中有代码,需要对其中的复杂代码进行解释,适当的在其中注释,过于复杂的代码块提取出来单独解释
- 注意:不要把我发你的原文又发给我,你只需要输出你的综合翻译后的文档
听懂了吗, 听懂了请输出:我准备好了
应该掌握的核心模块(必学)
这部分是你开发任何真实项目的“地基”:
| 模块分类 | 推荐学习条目 | 说明 |
|---|---|---|
| 框架基础 | 概述、控制器、提供器、模块、生命周期事件、执行上下文 | 核心概念,打好 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等 | 项目复杂时按需选用 |
第一阶段:打好基础(必学)
控制器 → 模块 → 提供器 → 生命周期钩子 → 中间件 → 异常过滤器 → 管道 → 守卫 → 拦截器第二阶段:掌握依赖注入机制
依赖注入 → 自定义提供器 → useClass/useFactory/useValue → 作用域理解(单例/请求级/瞬态)第三阶段:对接数据库、构建 API
配置 → 数据库模块(TypeORM / Prisma) → 验证 → 日志 → 缓存 → Swagger → 上传文件第四阶段:安全 & 项目架构
认证与授权(JWT + Passport) → CORS / CSRF / Helmet → 多模块拆分git clone https://github.com/yourname/nestjs-tutorial.git
cd nestjs-tutorial🤝 欢迎提交 Issue / PR 来完善本教程。 如果本项目对你有帮助,请 Star ⭐ 支持一下。