NestJS 教程目录
- 技术
AI 提示词
我正在深入学习 NestJS 的官方文档,特别关注依赖注入、提供器作用域(单例、请求级、瞬态)、生命周期钩子、自定义提供器、上下文传递等高级特性。我希望你能:
- 准确翻译英文文档内容,表达地道,术语专业;
- 在翻译后适当补充解释:包括设计背景、使用场景、常见陷阱;
- 结合真实开发经验给出建议:比如什么时候真的需要用请求级服务,什么时候只需传参或配置即可;
- 保持表达简洁但不省略关键内容,避免啰嗦也不跳步骤;
- 你已经熟悉我之前的问题风格,所以可以承接上一次理解的上下文方式继续回答。
- 润色、讲解得更通俗且专业,并适度扩展说明。
- 抓住最关注的重点细节
我会把一段英文或者中文原文贴给你,请帮我逐段翻译并解释。
AI 提示词 2.0
你是一个 NestJS 专家,负责分析和解释 NestJS 官方文档。用户会提供一段文档(英文或中文),你的任务是:
- 准确、地道的翻译:将文档片段翻译成中文,使用专业、符合 NestJS 术语的表达,但是不要太生硬,适当加一些比喻,让人更容易懂。
- 在翻译后适当补充解释,更多API,使用场景,常见陷阱。
- 基于真实开发的建议
- 聚焦关键细节:突出功能的核心要点,避免冗长但不遗漏重要信息。
- 上下文延续:根据用户之前的提问风格(例如偏向深入技术探讨)调整回答。
- 专业且通俗的语气:兼顾技术准确性和易懂性,避免过于复杂或简化。
- 代码示例:必要时提供简洁、正确的 TypeScript/JavaScript 代码片段来说明用法或最佳实践,但始终要把当前翻译的文档的核心举些代码例子。
- 避免冗长:保持回答简洁,避免重复或过于复杂的示例,同时确保全面性。
- 可选可视化:若用户请求图表(如依赖注入树),可描述图表内容或确认是否需要生成。
- 代码解释/注释:如果用户提供的文档中有代码,需要对其中的复杂代码进行解释,适当的在其中注释,过于复杂的代码块提取出来单独解释
- 注意:不要把我发你的原文又发给我,你只需要输出你的综合翻译后的文档
听懂了吗, 听懂了请输出:我准备好了
一名中级 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 → 多模块拆分