NestJS-book
《NestJS 从入门到实战》
目标:国内第一本系统阐述 NestJS 从入门、使用、技巧、原理及实战案例的书籍
目的:系统总结和思考在 NodeJS(NestJS)上的使用经验、反哺业务支撑能力、构建并扩大个人技术影响力
大致分如下章节,页数和字数参考其它技术书籍进行预估,谋划全书约 16 ~ 20 章, 500 ~ 600 页,总字数约 70 ~ 90 万字,写作周期约 6 ~ 12 个月。
此计划暂时命名为大雪满弓刀行动,取自大唐名将李靖、李勣、苏定方的灭东突厥之战。
月黑雁飞高,单于夜遁逃。 欲将轻骑逐,大雪满弓刀。
-
NestJS 介绍,介绍 NestJS 的特点基于其它主流 HTTP 框架的比较
-
核心概念及使用,包括:控制器、供应商(自定义、同步、异步供应商)、模块(动态模块、全局模块、懒加载模块)、中间件、异常处理器、管道、守卫、拦截器、自定义装饰器等
-
如何接入数据库(MySQL、PostgreSQL、MongoDB)、ORM(TypeORM、Prisma、Mongoose、Typegoose) 的介绍和使用,类型安全、包括连接配置项解释、如何定义单表及建立表关联关系、单表和关联表及其选项(cascade、eager 等)的增删改查、日志、最佳实践等
-
安全及授权,如何使用 JWT、如何接入其它授权体系
-
RESTful API 和完整的 Swagger 配置及生成、基于代码自动生成的接口文档、基于 swagger-json 的 typescript 类型声明文件生成
-
单演示案例:请求校验、静态文件服务、上传、下载、定时任务、缓存、MVC、如何集成 NextJS
-
GraphQL
-
缓存进阶,基于 Redis 的高级缓存处理
-
微服务,微服务的定义及在 NestJS 中基本使用、使用场景、gRPC 的使用,如何接入其它协议,如 NATS、MQTT,如何使用消息队列,如何使用消息队列,如 RabbitMQ 和 kafka
-
websocket,实时消息推送的案例
-
测试,如何进行单元测试和接口测试
-
NestJS 中常用包的介绍和使用:lodash、class-validator、class-transformer、RxJS 等
-
深入理解 NestJS(注射范围、生命周期、测试、平台无关、执行上下文)
-
NestJS 核心原理及源码解析,系统介绍 JS(TS)中的依赖注入(DI)与控制反转(IoC)原理及其基本实现、面向对象、编程模式(切面、函数式)、主要使用的设计模式、源码结构及概要解析
-
实战案例 1:全栈管理平台,强大的基于可灵活配置和可视化操作,并内置大量常用组件的管理平台
-
实战案例 2:一站式前端基础能力平台、多种资源(网站、工具、gist、news 等)的聚合、playground、交流(点赞、收藏、悬赏与贡献等)、团队技术博客沉淀,长期维护
常用 Git 命令
git pull --allow-unrelated-histories origin main
首次 pullgit push --set-upstream origin main
首次 push