×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302671008
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:344
  • 出版时间:2024-09-01
  • 条形码:9787302671008 ; 978-7-302-67100-8

本书特色

《NestJS全栈开发解析:快速上手与实践》是一本深入浅出的指南,旨在帮助读者系统地学习NestJS框架的基础知识和 应用,以及如何将其应用到实际项目中。《NestJS全栈开发解析:快速上手与实践》内容丰富、实用性强,涵盖了NestJS的核心概念、数据库编程、身份验证与授权、Redis缓存、Docker部署等关键内容,同时通过实战案例帮助读者将所学知识转化为实际项目应用。适合Node.js开发从业者和渴望学习全栈知识的前端开发人员阅读,也可作为培训机构及大中专教学用书。如果您希望深入了解NestJS,并将其运用于实际项目中,那么这本书将是您的不二选择。

内容简介

"《NestJS全栈开发解析:快速上手与实践》旨在帮助读者快速掌握NestJS(简称Nest)开发,并应用于实战项目。本书共10章,首先介绍基本概念,为读者打下坚实的知识基础。接着,通过简洁的代码示例进行知识点的串联讲解,帮助读者快速克服学习瓶颈。*终,通过实践能力和工程思维的培养,帮助读者将知识从线性结构转变为网状结构,形成以Nest为基础的全栈知识体系。 《NestJS全栈开发解析:快速上手与实践》采用通俗易懂的点线面知识构建方式进行讲解,适合从事前端开发和Node.js开发的工程师学习,同时也适合有意向学习Nest全栈知识的开发者。"

目录

目 录 **部分 基础篇 第1章 需要提前掌握的知识2 1.1 Node中的请求与响应对象2 1.1.1 原生Node处理HTTP请求2 1.1.2 Express处理HTTP请求4 1.1.3 Nest处理HTTP请求7 1.2 TypeScript基础与应用7 1.2.1 TypeScript编译8 1.2.2 TypeScript类型系统9 第2章 Nest初识15 2.1 什么是Nest15 2.1.1 Nest概述15 2.1.2 Nest的主要特点15 2.1.3 Nest的应用场景16 2.2 快速上手Nest CLI16 2.2.1 Nest CLI的安装16 2.2.2 创建项目17 2.2.3 生成 的代码片段19 2.2.4 构建应用22 2.2.5 启动开发调试24 2.2.6 查看项目信息25 2.3 创建 个Nest应用25 2.3.1 生成后端项目26 2.3.2 生成前端项目26 2.3.3 准备工作27 2.3.4 运行结果29 2.3.5 模块化开发30 2.4 Nest的AOP架构理念32 2.4.1 MVC架构概述32 2.4.2 AOP解决的问题33 2.4.3 AOP在Nest中的应用33 2.5 IoC思想解决了什么问题40 2.5.1 IoC核心思想概述40 2.5.2 IoC在Nest中的应用41 2.6 学会调试Nest应用44 2.6.1 Chrome DevTools调试44 2.6.2 VS Code调试46 2.6.3 扩展调试技巧48 第3章 Nest核心概念介绍51 3.1 贯穿全书的装饰器51 3.1.1 基本概念51 3.1.2 装饰器的种类51 3.1.3 Nest中的装饰器59 3.2 井然有序的模块化60 3.2.1 基本概念60 3.2.2 创建模块61 3.2.3 共享模块62 3.2.4 全局模块64 3.2.5 动态模块65 3.3 控制器与服务的默契配合66 3.3.1 基本概念66 3.3.2 Controller管理请求路由67 3.3.3 Controller处理请求参数与请求体68 3.3.4 Service处理数据层70 3.3.5 服务与服务提供者71 3.4 耳熟能详的中间件71 3.4.1 类中间件71 3.4.2 函数式中间件74 3.4.3 局部中间件74 3.4.4 全局中间件74 3.5 拦截器与RxJS知多少75 3.5.1 基本概念75 3.5.2 创建项目76 3.5.3 拦截器的基本使用方法76 3.6 数据之源守护者:管道79 3.6.1 基本概念79 3.6.2 内置管道80 3.6.3 自定义管道88 3.7 Nest实现文件上传89 3.7.1 初识Multer89 3.7.2 单文件上传91 3.7.3 多文件上传94 3.7.4 上传任意文件98 3.7.5 文件验证99 第2部分 进阶篇 第4章 Nest与数据库102 4.1 快速上手MySQL102 4.1.1 安装和运行102 4.1.2 MySQL的常用命令105 4.1.3 可视化操作MySQL107 4.2 MySQL表之间的关系112 4.2.1 一对一关系112 4.2.2 一对多/多对一关系119 4.2.3 多对多关系121 4.3 快速上手TypeORM126 4.3.1 基本概念126 4.3.2 项目准备126 4.3.3 创建模型及实体126 4.3.4 定义数据列及类型127 4.3.5 连接数据库128 4.3.6 使用Repository操作CRUD129 4.3.7 使用QueryBuilder操作CRUD131 4.4 使用TypeORM处理多表关系134 4.4.1 一对一关系134 4.4.2 一对多/多对一关系140 4.4.3 多对多关系142 4.5 在Nest中使用TypeORM操作MySQL144 4.5.1 项目准备144 4.5.2 使用EntityManager操作实体147 4.5.3 使用Repository操作实体148 4.5.4 使用QueryBuilder操作实体151 第5章 性能优化之数据缓存154 5.1 快速上手Redis154 5.1.1 安装和运行154 5.1.2 Redis的常用命令155 5.2 在Nest中使用Redis缓存162 5.2.1 项目准备162 5.2.2 Redis初始化164 5.2.3 建表并构建缓存165 5.2.4 运行代码167 5.2.5 设置缓存有效期169 5.2.6 选择合理的有效期170 第6章 身份验证与授权171 6.1 Cookie、Session、Token、JWT、SSO详解171 6.1.1 什么是身份验证171 6.1.2 什么是授权172 6.1.3 什么是凭证172 6.1.4 什么是Cookie172 6.1.5 什么是Session173 6.1.6 Session与Cookie的区别173 6.1.7 什么是Token174 6.1.8 什么是JWT176 6.1.9 JWT与Token的区别177 6.1.10 什么是SSO177 6.2 基于Passport和JWT实现身份验证180 6.2.1 基本概念181 6.2.2 项目准备181 6.2.3 用本地策略实现用户登录182 6.2.4 用JWT策略实现接口校验184 6.2.5 代码优化188 6.3 基于RBAC实现权限控制191 6.3.1 基本概念191 6.3.2 数据表设计192 6.3.3 项目准备193 6.3.4 创建实体194 6.3.5 启动服务196 6.3.6 实现角色守卫控制196 6.3.7 生成测试数据200 6.3.8 测试效果202 第7章 系统部署与扩展203 7.1 快速上手Docker203 7.1.1 初识Docker203 7.1.2 安装Docker204 7.1.3 Docker的使用205 7.2 快速上手Dockerfile209 7.2.1 Docker的基本概念209 7.2.2 Dockerfile的基本语法210 7.2.3 Dockerfile实践210 第3部分 扩展篇 第8章 单元测试与端到端测试216 8.1 重新认识单元测试216 8.1.1 什么是单元测试216 8.1.2 为什么大部分公司没有进行单元测试217 8.1.3 为什么要编写单元测试217 8.1.4 先编写单元测试还是先编写代码218 8.1.5 测试驱动开发219 8.2 在Nest中使用Jest编写单元测试220 8.2.1 初识Jest220 8.2.2 项目准备223 8.2.3 编写测 例224 8.2.4 实现业务代码225 8.2.5 重构代码229 8.3 集成测试230 8.3.1 编写测 例230 8.3.2 测试效果232 8.4 端到端测试232 8.4.1 编写测 例233 8.4.2 实现业务代码235 第9章 日志与错误处理237 9.1 如何在Nest中记录日志237 9.1.1 为什么要记录日志238 9.1.2 内置日志器Logger238 9.1.3 日志器240 9.1.4 记录日志的正确姿势241 9.1.5 第三方日志器Winston241 9.2 Winston日志管理实践241 9.2.1 Winston的基础使用242 9.2.2 本地持久化日志244 9.3 面向切面日志统计实践248 9.3.1 中间件日志统计248 9.3.2 拦截器日志统计249 9.3.3 过滤器日志统计251 第4部分 Nest项目实战篇 0章 数字门店管理平台开发254 10.1 产品需求分析与设计254 10.1.1 产品需求说明254 10.1.2 功能原型图255 10.2 技术选型与项目准备262 10.2.1 前端技术选型262 10.2.2 初始化前端项目262 10.2.3 前端架构设计263 10.2.4 后端技术选型264 10.2.5 初始化后端项目265 10.2.6 后端架构设计266 10.3 API接口及数据库表设计268 10.3.1 API接口功能划分268 10.3.2 数据库设计269 10.4 实现注册登录273 10.4.1 页面效果展示273 10.4.2 接口实现281 10.5 实现用户与角色模块290 10.5.1 页面效果展示290 10.5.2 表关系设计295 10.5.3 接口实现299 10.6 实现商品与订单模块303 10.6.1 页面效果展示304 10.6.2 表关系设计306 10.6.3 接口实现307 10.7 基于Redis实现商品 榜315 10.7.1 页面效果展示316 10.7.2 接口实现317 10.8 实现活动模块与定时任务320 10.8.1 页面效果展示320 10.8.2 表关系设计322 10.8.3 接口实现323 10.9 使用Docker Compose部署项目325 10.9.1 编写后端Docker Compose文件325 10.9.2 编写Dockerfile文件330 完结语:是终点, 是新的起点334 一个小小的决定334 时间的杠杆334 结语334
展开全部

作者简介

温健民,毕业于广东海洋大学计算机系,拥有5年前端开发经验,先后在某互联网公司担任前端工程师和前端技术leader职位。在Vue、React以及前端工程化方面有着深入的研究。同时是掘金技术博主,Nest技术爱好者,也是hello-algo算法开源项目的贡献者。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航