幫助中心 | 我的帳號 | 關於我們

NestJS全棧開發解析(快速上手與實踐)

  • 作者:編者:溫健民|責編:趙軍
  • 出版社:清華大學
  • ISBN:9787302671008
  • 出版日期:2024/09/01
  • 裝幀:平裝
  • 頁數:333
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書旨在幫助讀者快速掌握NestJS(簡稱Nest)開發,並應用於實戰項目。本書首先介紹基本概念,為讀者打下堅實的知識基礎。接著,通過簡潔的代碼示例進行知識點的串聯講解,幫助讀者快速克服學習瓶頸。最終,通過實踐能力和工程思維的培養,幫助讀者將知識從線性結構轉變為網狀結構,形成以Nest為基礎的全棧知識體系。
    本書採用通俗易懂的點線面知識構建方式進行講解,適合從事前端開發和Node.js開發的工程師學習,同時也適合有意向學習Nest全棧知識的開發者。

作者介紹
編者:溫健民|責編:趙軍

目錄
第1部分  基礎篇
  第1章  需要提前掌握的知識
    1.1  Node中的請求與響應對象
      1.1.1  原生Node處理HTTP請求
      1.1.2  Express處理HTTP請求
      1.1.3  Nest處理HTTP請求
    1.2  TypeScript基礎與應用
      1.2.1  TypeScript編譯
      1.2.2  TypeScript類型系統
  第2章  Nest初識
    2.1  什麼是Nest
      2.1.1  Nest概述
      2.1.2  Nest的主要特點
      2.1.3  Nest的應用場景
    2.2  快速上手Nest CLI
      2.2.1  Nest CLI的安裝
      2.2.2  創建項目
      2.2.3  生成指定的代碼片段
      2.2.4  構建應用
      2.2.5  啟動開發調試
      2.2.6  查看項目信息
    2.3  創建第一個Nest應用
      2.3.1  生成後端項目
      2.3.2  生成前端項目
      2.3.3  準備工作
      2.3.4  運行結果
      2.3.5  模塊化開發
    2.4  Nest的AOP架構理念
      2.4.1  MVC架構概述
      2.4.2  AOP解決的問題
      2.4.3  AOP在Nest中的應用
    2.5  IoC思想解決了什麼問題
      2.5.1  IoC核心思想概述
      2.5.2  IoC在Nest中的應用
    2.6  學會調試Nest應用
      2.6.1  Chrome DevTools調試
      2.6.2  VS Code調試
      2.6.3  擴展調試技巧
  第3章  Nest核心概念介紹
    3.1  貫穿全書的裝飾器
      3.1.1  基本概念
      3.1.2  裝飾器的種類
      3.1.3  Nest中的裝飾器
    3.2  井然有序的模塊化
      3.2.1  基本概念
      3.2.2  創建模塊
      3.2.3  共享模塊
      3.2.4  全局模塊
      3.2.5  動態模塊
    3.3  控制器與服務的默契配合

      3.3.1  基本概念
      3.3.2  Controller管理請求路由
      3.3.3  Controller處理請求參數與請求體
      3.3.4  Service處理數據層
      3.3.5  服務與服務提供者
    3.4  耳熟能詳的中間件
      3.4.1  類中間件
      3.4.2  函數式中間件
      3.4.3  局部中間件
      3.4.4  全局中間件
    3.5  攔截器與RxJS知多少
      3.5.1  基本概念
      3.5.2  創建項目
      3.5.3  攔截器的基本使用方法
    3.6  數據之源守護者:管道
      3.6.1  基本概念
      3.6.2  內置管道
      3.6.3  自定義管道
    3.7  Nest實現文件上傳
      3.7.1  初識Multer
      3.7.2  單文件上傳
      3.7.3  多文件上傳
      3.7.4  上傳任意文件
      3.7.5  文件驗證
第2部分  進階篇
  第4章  Nest與資料庫
    4.1  快速上手MySQL
      4.1.1  安裝和運行
      4.1.2  MySQL的常用命令
      4.1.3  可視化操作MySQL
    4.2  MySQL表之間的關係
      4.2.1  一對一關係
      4.2.2  一對多/多對一關係
      4.2.3  多對多關係
    4.3  快速上手TypeORM
      4.3.1  基本概念
      4.3.2  項目準備
      4.3.3  創建模型及實體
      4.3.4  定義數據列及類型
      4.3.5  連接資料庫
      4.3.6  使用Repository操作CRUD
      4.3.7  使用QueryBuilder操作CRUD
    4.4  使用TypeORM處理多表關係
      4.4.1  一對一關係
      4.4.2  一對多/多對一關係
      4.4.3  多對多關係
    4.5  在Nest中使用TypeORM操作MySQL
      4.5.1  項目準備
      4.5.2  使用EntityManager操作實體
      4.5.3  使用Repository操作實體

      4.5.4  使用QueryBuilder操作實體
  第5章  性能優化之數據緩存
    5.1  快速上手Redis
      5.1.1  安裝和運行
      5.1.2  Redis的常用命令
    5.2  在Nest中使用Redis緩存
      5.2.1  項目準備
      5.2.2  Redis初始化
      5.2.3  建表並構建緩存
      5.2.4  運行代碼
      5.2.5  設置緩存有效期
      5.2.6  選擇合理的有效期
  第6章  身份驗證與授權
    6.1  Cookie、Session、Token、JWT、SSO詳解
      6.1.1  什麼是身份驗證
      6.1.2  什麼是授權
      6.1.3  什麼是憑證
      6.1.4  什麼是Cookie
      6.1.5  什麼是Session
      6.1.6  Session與Cookie的區別
      6.1.7  什麼是Token
      6.1.8  什麼是JWT
      6.1.9  JWT與Token的區別
      6.1.10  什麼是SSO
    6.2  基於Passport和JWT實現身份驗證
      6.2.1  基本概念
      6.2.2  項目準備
      6.2.3  用本地策略實現用戶登錄
      6.2.4  用JWT策略實現介面校驗
      6.2.5  代碼優化
    6.3  基於RBAC實現許可權控制
      6.3.1  基本概念
      6.3.2  數據表設計
      6.3.3  項目準備
      6.3.4  創建實體
      6.3.5  啟動服務
      6.3.6  實現角色守衛控制
      6.3.7  生成測試數據
      6.3.8  測試效果
  第7章  系統部署與擴展
    7.1  快速上手Docker
      7.1.1  初識Docker
      7.1.2  安裝Docker
      7.1.3  Docker的使用
    7.2  快速上手Dockerfile
      7.2.1  Docker的基本概念
      7.2.2  Dockerfile的基本語法
      7.2.3  Dockerfile實踐
第3部分  擴展篇
  第8章  單元測試與端到端測試

    8.1  重新認識單元測試
      8.1.1  什麼是單元測試
      8.1.2  為什麼大部分公司沒有進行單元測試
      8.1.3  為什麼要編寫單元測試
      8.1.4  先編寫單元測試還是先編寫代碼
      8.1.5  測試驅動開發
    8.2  在Nest中使用Jest編寫單元測試
      8.2.1  初識Jest
      8.2.2  項目準備
      8.2.3  編寫測試用例
      8.2.4  實現業務代碼
      8.2.5  重構代碼
    8.3  集成測試
      8.3.1  編寫測試用例
      8.3.2  測試效果
    8.4  端到端測試
      8.4.1  編寫測試用例
      8.4.2  實現業務代碼
  第9章  日誌與錯誤處理
    9.1  如何在Nest中記錄日誌
      9.1.1  為什麼要記錄日誌
      9.1.2  內置日誌器Logger
      9.1.3  定製日誌器
      9.1.4  記錄日誌的正確姿勢
      9.1.5  第三方日誌器Winston
    9.2  Winston日誌管理實踐
      9.2.1  Winston的基礎使用
      9.2.2  本地持久化日誌
    9.3  面向切面日誌統計實踐
      9.3.1  中間件日誌統計
      9.3.2  攔截器日誌統計
      9.3.3  過濾器日誌統計
第4部分  Nest項目實戰篇
  第10章  數字門店管理平台開發
    10.1  產品需求分析與設計
      10.1.1  產品需求說明
      10.1.2  功能原型圖
    10.2  技術選型與項目準備
      10.2.1  前端技術選型
      10.2.2  初始化前端項目
      10.2.3  前端架構設計
      10.2.4  後端技術選型
      10.2.5  初始化後端項目
      10.2.6  後端架構設計
    10.3  API介面及資料庫表設計
      10.3.1  API介面功能劃分
      10.3.2  資料庫設計
    10.4  實現註冊登錄
      10.4.1  頁面效果展示
      10.4.2  介面實現

    10.5  實現用戶與角色模塊
      10.5.1  頁面效果展示
      10.5.2  表關係設計
      10.5.3  介面實現
    10.6  實現商品與訂單模塊
      10.6.1  頁面效果展示
      10.6.2  表關係設計
      10.6.3  介面實現
    10.7  基於Redis實現商品熱銷榜
      10.7.1  頁面效果展示
      10.7.2  介面實現
    10.8  實現活動模塊與定時任務
      10.8.1  頁面效果展示
      10.8.2  表關係設計
      10.8.3  介面實現
    10.9  使用Docker Compose部署項目
      10.9.1  編寫後端Docker Compose文件
      10.9.2  編寫Dockerfile文件
完結語:是終點,更是新的起點
  一個小小的決定
  時間的杠桿
結語

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032