要精通 nest.js 要掌握那些
ChatGPT 说:
下面我给你一个 从入门到精通 Nest.js 的完整技能体系清单,只要照这条路线学,你绝对能从普通 CRUD 工程师 → 成为能写企业级后端的高手。
我按 重要程度 + 实际项目需求 来排优先级,100% 实用。
✅ 一、基础必须掌握(核心能力)
这些是 Nest.js 的基础,不掌握就写不动项目:
1. Nest.js 核心概念
- Module(模块)
- Controller(控制器)
- Service(业务逻辑)
- Provider(依赖注入)
- Pipe(参数验证)
- Guard(权限守卫)
- Interceptor(拦截器)
- Middleware(中间件)
- Filter(异常过滤器)
👉 优先掌握:模块、控制器、服务、依赖注入
👉 进阶掌握:Guard / Interceptor / Pipe
✅ 二、TypeScript(Nest.js 的灵魂)
要精通 Nest.js,必须能掌握:
- interface / type
- class
- 泛型(简单掌握)
- 装饰器(Nest 全靠装饰器写)
- Promise / async / await
- OOP 继承、依赖注入思想
TS 不需要学太深,但必须会写、看懂别人写的代码。
✅ 三、数据库(企业级必须)
Nest.js 连接数据库有三种方式:
1)TypeORM(最常见)
✔ entity
✔ repository
✔ find / save / update / delete
✔ join 查询
✔ 一对多、多对多
✔ 事务(transaction)
2)Prisma(更现代)
非常好用,但国内用得不多。
3)原生 SQL(你现在这种)
✔ query
✔ 参数绑定
✔ 防注入
✔ 数据返回类型
企业项目中:TypeORM 使用最多。
✅ 四、认证 & 权限(重点)
企业级项目必须实现:
(1)JWT 登录认证
- 登录返回 token
- token 解析
- token 中间件或 guard
- 刷新 token
(2)RBAC 权限控制
你现在正在做的:
- 用户表
- 角色表
- 权限表
- 用户角色关联表
- 角色权限关联表
- Guard 做权限判断
这块是高级难度,但非常重要。
✅ 五、异常处理体系
- 全局异常过滤器
- 自定义异常
- 全局响应格式封装(包装成统一的 JSON)
✅ 六、拦截器(高级)
常用拦截器:
- 日志拦截器(记录请求耗时)
- 转换响应数据格式
- 对缓存做拦截(例如 Redis)
✅ 七、Middleware 中间件
常用于:
- 记录日志
- CORS 设置
- 验证签名
✅ 八、验证(ValidationPipe)
用 class-validator 做 DTO 验证:
- IsString
- IsNumber
- IsOptional
- IsNotEmpty
- IsEmail
- Min / Max
你已经接触到了,比如 email 不能为 null。
✅ 九、配置管理(ConfigModule)
需要掌握:
- .env 环境变量
- 开发、测试、生产环境分离
- 数据库配置
✅ 十、文件上传(实际项目常用)
- 接收图片、Excel、PDF
- 传到七牛云 / 阿里云 OSS / 腾讯 COS
✅ 十一、Redis(缓存必须)
- Token 黑名单
- 接口缓存
- 防止频繁登录
- 验证码冷却时间
Nest 有现成的 redis 模块。
✅ 十二、Swagger 接口文档
企业项目必备。
学习:
- 装饰器 @ApiProperty
- 自动生成接口文档
- 参数描述
✅ 十三、WebSocket
实时项目会用:
- 即时聊天
- 传感器设备数据推送
- 实时通知
✅ 十四、单元测试(可选,但企业要求)
- Jest
- Controller / Service 测试
🎯 最终达到「精通」的能力
你能写:
- 企业级登录系统
- RBAC 权限系统
- 复杂 RESTful API
- 原生 SQL + TypeORM 双精通
- 完整数据库结构
- 日志系统
- 异常处理
- 完整打包部署
- Docker 运行 Nest.js
这就是高级 Nest.js 工程师。