前言
约 1086 字大约 4 分钟
2025-06-28
相关原文档
AI 提示词
你是一个 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等 | 项目复杂时按需选用 |
第一阶段:打好基础(必学)
控制器 → 模块 → 提供器 → 生命周期钩子 → 中间件 → 异常过滤器 → 管道 → 守卫 → 拦截器
第二阶段:掌握依赖注入机制
依赖注入 → 自定义提供器 → useClass/useFactory/useValue → 作用域理解(单例/请求级/瞬态)
第三阶段:对接数据库、构建 API
配置 → 数据库模块(TypeORM / Prisma) → 验证 → 日志 → 缓存 → Swagger → 上传文件
第四阶段:安全 & 项目架构
认证与授权(JWT + Passport) → CORS / CSRF / Helmet → 多模块拆分
贡献者
更新日志
2025/8/14 09:14
查看所有更新日志
d5191
-first-commit于