注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)NestJS全棧開發(fā)解析

NestJS全棧開發(fā)解析

NestJS全棧開發(fā)解析

定 價:¥99.00

作 者: 溫健民
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302671008 出版時間: 2024-09-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  《NestJS全棧開發(fā)解析:快速上手與實踐》旨在幫助讀者快速掌握NestJS(簡稱Nest)開發(fā),并應用于實戰(zhàn)項目。本書共10章,首先介紹基本概念,為讀者打下堅實的知識基礎。接著,通過簡潔的代碼示例進行知識點的串聯(lián)講解,幫助讀者快速克服學習瓶頸。最終,通過實踐能力和工程思維的培養(yǎng),幫助讀者將知識從線性結構轉變?yōu)榫W狀結構,形成以Nest為基礎的全棧知識體系。《NestJS全棧開發(fā)解析:快速上手與實踐》采用通俗易懂的點線面知識構建方式進行講解,適合從事前端開發(fā)和Node.js開發(fā)的工程師學習,同時也適合有意向學習Nest全棧知識的開發(fā)者。

作者簡介

  溫健民,畢業(yè)于廣東海洋大學計算機系,擁有5年前端開發(fā)經驗,先后在某互聯(lián)網公司擔任前端工程師和前端技術leader職位。在Vue、React以及前端工程化方面有著深入的研究。同時是掘金技術博主,Nest技術愛好者,也是hello-algo算法開源項目的貢獻者。

圖書目錄

第1部分  基礎篇
第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類型系統(tǒng) 9
第2章  Nest初識 15
2.1  什么是Nest 15
2.1.1  Nest概述 15
2.1.2  Nest的主要特點 15
2.1.3  Nest的應用場景 16
2.2  快速上手Nest CLI 16
2.2.1  Nest CLI的安裝 16
2.2.2  創(chuàng)建項目 17
2.2.3  生成指定的代碼片段 19
2.2.4  構建應用 22
2.2.5  啟動開發(fā)調試 24
2.2.6  查看項目信息 25
2.3  創(chuàng)建第一個Nest應用 25
2.3.1  生成后端項目 26
2.3.2  生成前端項目 26
2.3.3  準備工作 27
2.3.4  運行結果 29
2.3.5  模塊化開發(fā) 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  創(chuàng)建模塊 61
3.2.3  共享模塊 62
3.2.4  全局模塊 64
3.2.5  動態(tài)模塊 65
3.3  控制器與服務的默契配合 66
3.3.1  基本概念 66
3.3.2  Controller管理請求路由 67
3.3.3  Controller處理請求參數(shù)與請求體 68
3.3.4  Service處理數(shù)據層 70
3.3.5  服務與服務提供者 71
3.4  耳熟能詳?shù)闹虚g件 71
3.4.1  類中間件 71
3.4.2  函數(shù)式中間件 74
3.4.3  局部中間件 74
3.4.4  全局中間件 74
3.5  攔截器與RxJS知多少 75
3.5.1  基本概念 75
3.5.2  創(chuàng)建項目 76
3.5.3  攔截器的基本使用方法 76
3.6  數(shù)據之源守護者:管道 79
3.6.1  基本概念 79
3.6.2  內置管道 80
3.6.3  自定義管道 88
3.7  Nest實現(xiàn)文件上傳 89
3.7.1  初識Multer 89
3.7.2  單文件上傳 91
3.7.3  多文件上傳 94
3.7.4  上傳任意文件 98
3.7.5  文件驗證 99
第2部分  進階篇
第4章  Nest與數(shù)據庫 102
4.1  快速上手MySQL 102
4.1.1  安裝和運行 102
4.1.2  MySQL的常用命令 105
4.1.3  可視化操作MySQL 107
4.2  MySQL表之間的關系 112
4.2.1  一對一關系 112
4.2.2  一對多/多對一關系 119
4.2.3  多對多關系 121
4.3  快速上手TypeORM 126
4.3.1  基本概念 126
4.3.2  項目準備 126
4.3.3  創(chuàng)建模型及實體 126
4.3.4  定義數(shù)據列及類型 127
4.3.5  連接數(shù)據庫 128
4.3.6  使用Repository操作CRUD 129
4.3.7  使用QueryBuilder操作CRUD 131
4.4  使用TypeORM處理多表關系 134
4.4.1  一對一關系 134
4.4.2  一對多/多對一關系 140
4.4.3  多對多關系 142
4.5  在Nest中使用TypeORM操作MySQL 144
4.5.1  項目準備 144
4.5.2  使用EntityManager操作實體 147
4.5.3  使用Repository操作實體 148
4.5.4  使用QueryBuilder操作實體 151
第5章  性能優(yōu)化之數(shù)據緩存 154
5.1  快速上手Redis 154
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  什么是Cookie 172
6.1.5  什么是Session 173
6.1.6  Session與Cookie的區(qū)別 173
6.1.7  什么是Token 174
6.1.8  什么是JWT 176
6.1.9  JWT與Token的區(qū)別 177
6.1.10  什么是SSO 177
6.2  基于Passport和JWT實現(xiàn)身份驗證 180
6.2.1  基本概念 181
6.2.2  項目準備 181
6.2.3  用本地策略實現(xiàn)用戶登錄 182
6.2.4  用JWT策略實現(xiàn)接口校驗 184
6.2.5  代碼優(yōu)化 188
6.3  基于RBAC實現(xiàn)權限控制 191
6.3.1  基本概念 191
6.3.2  數(shù)據表設計 192
6.3.3  項目準備 193
6.3.4  創(chuàng)建實體 194
6.3.5  啟動服務 196
6.3.6  實現(xiàn)角色守衛(wèi)控制 196
6.3.7  生成測試數(shù)據 200
6.3.8  測試效果 202
第7章  系統(tǒng)部署與擴展 203
7.1  快速上手Docker 203
7.1.1  初識Docker 203
7.1.2  安裝Docker 204
7.1.3  Docker的使用 205
7.2  快速上手Dockerfile 209
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  測試驅動開發(fā) 219
8.2  在Nest中使用Jest編寫單元測試 220
8.2.1  初識Jest 220
8.2.2  項目準備 223
8.2.3  編寫測試用例 224
8.2.4  實現(xiàn)業(yè)務代碼 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  實現(xiàn)業(yè)務代碼 235
第9章  日志與錯誤處理 237
9.1  如何在Nest中記錄日志 237
9.1.1  為什么要記錄日志 238
9.1.2  內置日志器Logger 238
9.1.3  定制日志器 240
9.1.4  記錄日志的正確姿勢 241
9.1.5  第三方日志器Winston 241
9.2  Winston日志管理實踐 241
9.2.1  Winston的基礎使用 242
9.2.2  本地持久化日志 244
9.3  面向切面日志統(tǒng)計實踐 248
9.3.1  中間件日志統(tǒng)計 248
9.3.2  攔截器日志統(tǒng)計 249
9.3.3  過濾器日志統(tǒng)計 251
第4部分  Nest項目實戰(zhàn)篇
第10章  數(shù)字門店管理平臺開發(fā) 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接口及數(shù)據庫表設計 268
10.3.1  API接口功能劃分 268
10.3.2  數(shù)據庫設計 269
10.4  實現(xiàn)注冊登錄 273
10.4.1  頁面效果展示 273
10.4.2  接口實現(xiàn) 281
10.5  實現(xiàn)用戶與角色模塊 290
10.5.1  頁面效果展示 290
10.5.2  表關系設計 295
10.5.3  接口實現(xiàn) 299
10.6  實現(xiàn)商品與訂單模塊 303
10.6.1  頁面效果展示 304
10.6.2  表關系設計 306
10.6.3  接口實現(xiàn) 307
10.7  基于Redis實現(xiàn)商品熱銷榜 315
10.7.1  頁面效果展示 316
10.7.2  接口實現(xiàn) 317
10.8  實現(xiàn)活動模塊與定時任務 320
10.8.1  頁面效果展示 320
10.8.2  表關系設計 322
10.8.3  接口實現(xiàn) 323
10.9  使用Docker Compose部署項目 325
10.9.1  編寫后端Docker Compose文件 325
10.9.2  編寫Dockerfile文件 330
完結語:是終點,更是新的起點 334
一個小小的決定 334
時間的杠桿 334
結語 334

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號