课程简介
NestJS从拔高到精通,大型复杂业务架构落地实践视频课程,从前端工程师进阶前高级工程师,最快路径是精通 NestJS。如果你想全面拔高 NestJS 技术,本课就是你的不二之选。本课通过大型复杂业务,从模块化设计到微服务治理全流程实战演练,带你全方位拔高与精通 NestJS 核心技能(涵盖动态模块、队列任务、缓存管理及权限校验等),迅速具备服务端开发核心竞争力,架构设计与复杂业务落地实战能力,助力你成为更高效、更有竞争力、更快速响应的前端高级工程师。
课程目录
├── 第1章 课程导学/
│ ├── [ 43M] 1-1课程导学
│ └── [ 12M] 1-2基础课vs进阶课差异在哪里?
├── 第2章 为何选择NestJS构建复杂前端开发应用/
│ ├── [ 51M] 2-1Java与Node.js:Node.js作为服务端的优势
│ ├── [ 40M] 2-2什么是nestjs?应用场景是什么?
│ ├── [ 16M] 2-3常见问题:对比koa&eggjs&express,nestjs优势是什么?
│ └── [5.7M] 2-4_重要_课程代码+资料说明
├── 第3章 高效构建与优化NestJS开发环境/
│ ├── [ 34M] 3-1node开发环境搭建:常见工作流介绍&yarn&pnpm&corepack-
│ ├── [ 38M] 3-2快速上手:安装官方nestjsCLI工具
│ ├── [ 41M] 3-3最佳实践:工程目录+文件命名约定
│ ├── [ 27M] 3-4_扩展_Nestjs版本更新10.0带来了哪些更新
│ ├── [ 22M] 3-5如何调试Nestjs应用:三种调试方法
│ ├── [ 31M] 3-6导学:容器与虚拟机
│ ├── [ 42M] 3-7安装配置Docker&Docker核心概念
│ ├── [ 33M] 3-8_扩展_管理Docker工具:Potainer&Lazydocker
│ ├── [ 10M] 3-9_扩展_配置Docker国内的加速
│ └── [ 15M] 3-10_扩展_Docker集成管理命令compose
├── 第4章 深入Nestjs核心:依赖注入与面向切面编程AOP/
│ ├── [ 44M] 4-1编程思想:什么是OOP?FP?FRP编程?
│ ├── [7.6M] 4-2编程思想:AOP切面编程是什么?特点是什么?
│ ├── [ 24M] 4-3葵花宝典:什么是依赖注入(DI)&控制反转IoC
│ ├── [ 11M] 4-4nestjs架构篇:控制器、服务、数据访问(非常重要)
│ ├── [ 16M] 4-5nestjs架构篇:用模块来组织代码
│ ├── [ 19M] 4-6加餐:DTO,DAO是什么?MVC是什么架构?
│ └── [ 17M] 4-7_工作原理_Nestjs中的DI系统&DI容器的概念
├── 第5章 NestJS多环境配置与管理【通用模块与实战】/
│ ├── [9.2M] 5-1nestjs通用后端框架思考
│ ├── [ 29M] 5-2多环境配置两种方案(优缺点比较)
│ ├── [ 27M] 5-3官方方案:使用config设置配置模块-
│ ├── [ 25M] 5-4官方方案进阶:多环境配置读取
│ └── [ 34M] 5-5配置文件的参数验证Joi方案
├── 第6章 日志管理与异常处理【通用模块与实战】/
│ ├── [ 13M] 6-1日志有哪些类型?功能分类?记录位置?
│ ├── [ 19M] 6-2nestjs内置日志模块Logger
│ ├── [ 32M] 6-3全自动高性能日志模块:Pino、日志滚动pino-roll
│ ├── [ 49M] 6-4高度集成的日志模块:winston
│ ├── [ 48M] 6-5_作业_全局异常过滤器:配合winston记录日志(全局Filters)
│ └── [7.0M] 6-6作业解答:全局FIilters&如何获取请求IP
├── 第7章 集成通用模板、优化打包性能【通用模块与实战】/
│ ├── [ 31M] 7-1通用模板项目:配置模块
│ ├── [ 33M] 7-2通用模板项目:全局日志模块
│ ├── [ 40M] 7-3全局设置:开启filters、CORS、API请求前缀+版本
│ └── [ 46M] 7-4开发起飞:开启swc编译器+jest测试配置(对比vitest)
├── 第8章 nestjs中高速缓存方案及集成Redis【通用模块实战】/
│ ├── [ 29M] 8-1redis常见问题及Node.js侧客户端比较
│ ├── [ 25M] 8-2两种redis镜像对比&redis桌面端连接工具
│ ├── [ 21M] 8-3如何nestjs中集成ioredis
│ ├── [ 43M] 8-4高速缓存方案cache-manager
│ └── [ 20M] 8-5nestjs集成cache-manager与ioredis
├── 第9章 第三方服务模块:常见短信、邮件服务对接【通用模块实战】/
│ ├── [7.7M] 9-1商业化邮件服务商(SES、Mailgun、SendCloud)
│ └── [ 41M] 9-2Nestjs中的邮件服务(内置node-mailer)
├── 第10章 【进阶架构设计】Nestjs针对复杂企业应用场景架构设计/
│ └── [ 32M] 10-1架构师能力:架构设计是什么?深入理解架构设计
├── 第11章 数据库策略:Nestjs数据库集成策略与多租户数据库策略/
│ ├── [ 30M] 11-1数据库模块集成分析:ORM选择
│ ├── [ 30M] 11-2nestjs如何拿捏单库vs多库(多租户):复杂业务场景数据库选择
│ ├── [ 32M] 11-3Prisma与nestjs集成
│ ├── [ 22M] 11-4typeorm与nestjs集成
│ ├── [ 62M] 11-5非关系型数据库mongoDB集成(深入工作原理)
│ ├── [ 46M] 11-6动态模块应用场景及工作原理
│ ├── [ 35M] 11-7_重要_数据库架构设计&nestjs多ORM动态数据库演示
│ └── [ 16M] 11-8_扩展_数据连接池及常见ORM库配置
├── 第12章 多租户复杂数据库设计:TypeORM多数据库集成与优化/
│ ├── [ 13M] 12-1_回顾_ORM库多数据库配置&连接
│ ├── [ 35M] 12-2多数据库初始化:TypeORMCLI配置(结合ormconfig)
│ ├── [ 15M] 12-3TypeORM同类型多数据库连接与访问配置
│ ├── [ 22M] 12-4抽象公共Repository:解决多数据库请求响应
│ ├── [ 18M] 12-5Controller控制器的参数解析装饰器(@Param、@Body、@Query)
│ ├── [ 23M] 12-6TypeORM动态连接多数据库:多MySQL
│ ├── 乐学编程网lexuecode.com
│ ├── [ 31M] 12-7TypeORM动态连接多数据库:多数据库类型
│ └── [ 51M] 12-8_进阶_TypeORM模块优化:多数据库连接共用实例、销毁
├── 第13章 多租户复杂数据库设计:Prisma模块与RxJS的高级应用/
│ ├── [ 61M] 13-1PrismaModule初始化代码结构(学习官方模块TypeORM)
│ ├── [ 52M] 13-2Prisma多Client实战(generator指定output目录)
│ ├── [ 27M] 13-3_扩展_认识Rxjs:一个处理事件是Lodash库
│ ├── [ 32M] 13-4_作业_Rxjs示例:计时器、常见操作符等
│ ├── [ 21M] 13-5多数据库优化:如何命名PrismaModule
│ ├── [ 44M] 13-6多数据库优化:断线重试逻辑
│ ├── [ 52M] 13-7动态模块进阶:异步Provider
│ ├── [ 19M] 13-8动态模块进阶:完成自定义PrismaModule模块
│ ├── [ 13M] 13-9PrismaModule:测试异步多数据库连接
│ └── [ 34M] 13-10数据库优化:PrismaModule连接实例管理
├── 第14章 扩展模块:Mongoose官方模块问题解决与扩展/
│ ├── [ 26M] 14-1Mongoose官方模块的问题及解决思路
│ └── [ 46M] 14-2如何扩展第三方模块:复用Mongose实例
├── 第15章 数据库策略优化:多数据库与多租户策略总结/
│ ├── [ 33M] 15-1数据库总结:多数据库多租户多ORM
│ ├── [ 56M] 15-2数据库代码初步优化:实现抽象层repository
│ ├── [ 51M] 15-3数据库代码优化测试:多ORM配合
│ ├── [7.5M] 15-4_源码分析_mongo模块forFeature方法的异常处理
│ └── [ 31M] 15-5_最佳实践_数据库代码优化:创建userModule
├── 第16章 鉴权登录:NestJS用户认证与参数校验【安全与权限管理】/
│ ├── [ 38M] 16-1nestjs用户认证:创建认证控制器及对接数据
│ ├── [ 13M] 16-2创建用户:用户数据简单校验
│ ├── [ 19M] 16-3_回顾_管道概念:三大类型管道及校验类管道
│ ├── [ 30M] 16-4接口参数校验:nestjs基于装饰器的类验证器管道
│ ├── [ 38M] 16-5_进阶_nestjs内置管道&Trasnform&自定义管道用法
│ ├── [ 42M] 16-6nestjs鉴权库:JWT核心文档解析
│ ├── [ 24M] 16-7_过渡_解析官方示例:LocalStrategy与JwtStrategy
│ ├── [ 45M] 16-8JWT依赖安装&jwt模块工作原理解析
│ └── [ 40M] 16-9_进阶_测试jwt模块:应用守卫AuthGuard、jwtService签名Payload
├── 第17章 鉴权守卫与高级访问权限管理【安全与权限管理】/
│ ├── [ 58M] 17-1鉴权守卫:设置鉴权用户可访问的控制器(作业)
│ └── [ 31M] 17-2_进阶_控制器守卫、自定义装饰器、全局守卫两种创建方式
├── 第18章 接口安全:密码保护与数据脱敏【安全与权限管理】/
│ ├── [ 21M] 18-1密码安全及相关知识(什么是彩虹表攻击)
│ ├── [ 24M] 18-2密码安全实操:使用argon2库对密码进行加密
│ ├── [ 43M] 18-3接口安全:引入拦截器对接口进行脱敏处理
│ ├── [ 23M] 18-4接口安全:内置序列化拦截器定制响应数据结构
│ └── [ 45M] 18-5拦截器扩展:自定义装饰器完成接口序列化
├── 第19章 RBAC系统设计与实现:角色权限管理【安全与权限管理】/
│ ├── [ 19M] 19-1权限控制导学:权限控制数据设计(预习作业)
│ ├── [ 12M] 19-2RBAC角色权限功能分析
│ ├── [ 31M] 19-3RBAC角色权限实现:prisma数据库调整(同步、迁移、重置)
│ ├── [ 55M] 19-4RBAC角色权限实现:创建角色权限装饰器
│ ├── [ 47M] 19-5RBAC角色权限实现:用户角色CURD操作
│ ├── [ 41M] 19-6_进阶_RBAC角色权限实现:用户创建&关联角色
│ ├── [ 28M] 19-7作业讲解:Role关联查询Permission&拦截器序列化输出
│ ├── [ 31M] 19-8作业讲解:用户相关查询及序列化输出
│ ├── [ 46M] 19-9_进阶_用户更新接口:嵌套数据的序列化
│ ├── [ 39M] 19-10_进阶_完成用户更新逻辑(嵌套关联关系)
│ └── [ 66M] 19-11_重要_完成RBAC守卫(RBAC闭环-企业级应用实现)
├── 第20章 CASL策略权限控制与实践【安全与权限管理】/
│ ├── [ 26M] 20-1基于策略的控制:流行的casl策略库介绍
│ ├── [ 20M] 20-2基于策略的权限控制:实践casl库
│ └── [ 21M] 20-3_补充说明_casl自定义规则的两种方式
├── 第21章 高级策略权限设计与实现【安全与权限管理】/
│ ├── [ 23M] 21-1_重要_数据库设计:基于策略的数据权限分析
│ ├── [ 54M] 21-2策略权限控制:创建Policy服务&守卫
│ ├── [ 51M] 21-3策略权限控制:类MongoDB的复杂查询逻辑(精确的条件控制)
│ ├── [ 24M] 21-4_进阶_策略权限控制:基于函数的策略权限控制
│ ├── [ 40M] 21-5_优化代码_创建基于casl的策略权限控制服务
│ ├── [ 19M] 21-6工厂函数创建不同类型的Ability实例及权限测试
│ ├── [ 23M] 21-7策略权限:数据库设计
│ ├── [ 40M] 21-8_作业_策略权限功能:RolePolicy创建服务
│ ├── [ 41M] 21-9_更新_Permission与Role更新Policy逻辑
│ ├── [ 18M] 21-10_重要_PolicyGuard的判断逻辑
│ ├── [ 44M] 21-11_重要_PolicyGuard具体实现逻辑
│ ├── [ 44M] 21-12_非常重要_策略权限守卫开发分析:参数约定与数据准备工作
│ ├── [ 45M] 21-13策略权限守卫:初步完成核心逻辑&准备测试数据
│ ├── [ 53M] 21-14策略权限守卫:测试默认的策略权限的三种逻辑
│ ├── [ 35M] 21-15策略权限守卫:验证函数&mongo复杂查询
│ └── [ 21M] 21-16策略权限控制总结
├── 第22章 菜单权限设计与实现【业务开发】/
│ ├── [ 21M] 22-1菜单权限:需求分析+创建数据库模型+REST接口
│ ├── [ 63M] 22-2创建菜单接口&数据库查询实现(嵌套数据)
│ ├── [ 44M] 22-3菜单查询与删除(创建自定义Pipe)
│ ├── [ 44M] 22-4菜单及嵌套菜单数据更新
│ ├── 由乐学编程网lexuecode.com整理分享
│ └── [ 37M] 22-5菜单权限:角色菜单关联(新增、更新、删除)
├── 第23章 核心业务管理与数据库迁移策略【数据迁移】/
│ ├── [ 13M] 23-1数据库迁移流程&代码版本控制
│ ├── [ 26M] 23-2_最佳实践_合理的项目工程目录
│ ├── [ 27M] 23-3业务数据库设计+CLI生成模块代码
│ ├── [ 24M] 23-4_AI加持_开发流程介绍:快速创建CURD基础业务代码
│ ├── [ 64M] 23-5_进阶_创建附件接口:复杂创建逻辑与关联dto的创建
│ ├── [ 16M] 23-6内容相关需求分析:课程&标签&分类关联关系
│ ├── [ 38M] 23-7内容相关开发:创建课程&标签路由+CURD服务
│ ├── [ 55M] 23-8内容相关开发:如何复用课程标签创建逻辑
│ ├── [ 37M] 23-9内容相关开发:完成课程+标签嵌套CURD(事务嵌套bug)
│ └── [ 25M] 23-10_总结_核心业务服务开发与扩展(交易、内容)数据库设计
├── 第24章 定时任与队列管理:高并发策略【进阶实战】/
│ ├── [ 22M] 24-1日志功能扩展:收集与筛选日志需求
│ ├── [ 52M] 24-2日志数据库存储方案:winston-mongoDB(集中式、自滚动)
│ ├── [ 21M] 24-3数据库日志:存储&维护机制思考
│ ├── [ 22M] 24-4定时任务:nestjs-schedule模块注册与源码解析
│ ├── [ 30M] 24-5_优化_重构条件模块代码&容器中mongoDB备份与恢复
│ ├── [ 18M] 24-6容器数据持久化的两种方法+node侧ssh客户端ssh2
│ ├── [ 37M] 24-7SSH模块注册与异步注册核心逻辑
│ ├── [ 41M] 24-8创建ssh客户端SshService服务&测试
│ ├── [ 19M] 24-9多ssh客户端注册及配置方法
│ ├── [ 26M] 24-10_代码重构_异步SSH模块注册&测试
│ ├── [ 48M] 24-11定时任务:完成容器数据库备份与滚动删除
│ ├── [ 12M] 24-12_重构_SshService输出结构优化&捕获异常
│ ├── [ 45M] 24-13三类定时任务管理模块
│ ├── [ 36M] 24-14任务队列:nestjs中的队列方案nestjs-bull
│ ├── [ 14M] 24-15代码重构:合理规划Queue分类
│ ├── [ 42M] 24-16定时队列任务:定义不同的通知处理逻辑(邮件&短信)
│ └── [ 34M] 24-17_进阶_队列任务的生命周期事件
├── 第25章 Mongorepo技术栈选型:nestjs工程化与自动化方案/
│ ├── [ 42M] 25-1Monorepo项目导学
│ ├── [ 39M] 25-2monorepo技术栈:三类工具+nx&lerna&rush&bit等介绍
│ ├── [ 51M] 25-3包管理方案1:yarn的workspaces方案
│ └── [ 41M] 25-4包管理方案2:使用pnpm管理workspace
├── 第26章 Lerna&nx与TurboRepo深度解析+云缓存实践/
│ ├── [ 52M] 26-1大型项目管理模式实践:nx+lerna+turborepo介绍&云构建是什么?
│ ├── [ 57M] 26-2lerna全面解析:常用命令、版本控制与发包
│ ├── [ 34M] 26-3turborepo上手:缓存、运行脚本与lerna横向对比
│ ├── [ 30M] 26-4_扩展_turborepo远程缓存使用流程(vercel配合)
│ ├── [ 26M] 26-5_扩展_lerna&nx远程缓存:基于nxcloud协同项目+加速构建
│ ├── [ 17M] 26-6_扩展_nxcloud扩展能力(agents等)
│ └── [ 54M] 26-7nx团队协同提效:使用azure存储构建缓存(申请、配置、权限)
├── 第27章 开发与发布nx生态插件(全流程案例)/
│ ├── [ 25M] 27-1开发自定义nx云缓存插件:七牛云、华为云等产品比较
│ ├── [ 24M] 27-2对象云存储nx扩展插件需求分析
│ ├── [ 50M] 27-3七牛云SDK文件操作(查询、上传、下载)
│ ├── [ 60M] 27-4Nx七牛云缓存插件开发:monorepo项目设置&传参
│ ├── [ 49M] 27-5Nx七牛云插件开发:下载、上传构建缓存
│ ├── [ 38M] 27-6优化uploadToken产生逻辑,加入本地缓存
│ ├── [ 35M] 27-7开发插件调试思路:从源头找问题(翻译、本地调试、问他人)
│ ├── [ 20M] 27-8下载优化:兼容私有与公有传参
│ ├── [ 41M] 27-9上传优化:调整uploadToken更新策略
│ ├── [ 12M] 27-10上传区域参数测试
│ ├── [ 20M] 27-11_扩展_七牛云配置自定义的域名
│ ├── [ 32M] 27-12_AI_发包准备:nx七牛云插件文档
│ ├── [ 32M] 27-13GithubActions自动化发包流程:npm包发布&测试
│ └── [ 23M] 27-14_作业_开发nx扩展:monorepo项目总结
├── 第28章 微服务与微前端:概念与工具【微服务架构】/
│ ├── [ 25M] 28-1_回顾_什么是微服务?应用场景是什么?
│ ├── [ 26M] 28-2_回顾_分布式系统&架构
│ └── [ 23M] 28-3Node.js侧的微服务工具包推荐(熔断、链路追踪、监控)
├── 第29章 NestJS中的微服务实践与应用案例【微服务架构】/
│ ├── [ 13M] 29-1nestjs中的微服务方案
│ ├── [ 23M] 29-2_TCP方式_初次尝试Nestjs中的微服务
│ ├── [ 15M] 29-3Nestjs微服务中的常用装饰器
│ ├── [ 34M] 29-4微服务项目工程化配置:合理的工程目录
│ ├── [ 41M] 29-5微服务容器化及打包部署流程
│ ├── [ 14M] 29-6nestjs微服务:Event-based广播式消息传递
│ └── [ 24M] 29-7微服务超时逻辑及错误异常处理
└── 第30章 nestjs中的微服务治理:熔断控制原理深入解析【微服务架构】/
├── [ 18M] 30-1服务熔断工作原理(断路器、断路模型等)
├── [ 59M] 30-2熔断器工作原理&最小示例实现
└── [ 18M] 30-3opossum库Node.js侧的断路器
└── 资料代码/
更新日志
2024-12-5:已更新到第30章,持续更新中,后续同个网盘链接更新,请放心下载。