TypeScript框架開發實踐(微課視頻版)
曾振中
- 出版商: 清華大學
- 出版日期: 2024-08-01
- 售價: $474
- 貴賓價: 9.5 折 $450
- 語言: 簡體中文
- ISBN: 7302668833
- ISBN-13: 9787302668831
-
相關分類:
JavaScript、TypeScript
立即出貨
相關主題
商品描述
"本書講述了一個開源Web框架從無到有,直至發布上線的開發歷程,逐步實現Web框架的核心對象管理、Web路由及數據庫支持等三大組成部分並集成多個常用服務,完成框架中三十多個TypeScript裝飾器的設計與開發。通過本書,讀者能夠從最基礎的代碼開始,輕松掌握Web框架的開發技能,為深入探索高級Web技術奠定堅實基礎。 本書分為三大模塊。Web框架基礎模塊(第1章)從編寫最簡單的HTTP服務開始,介紹Web框架的基礎知識;框架開發模塊(第2~5章)詳細闡述框架核心對象管理的實現、集成ExpressJS服務及相關中間件的應用整合,展示了兩類Web框架常見的數據庫功能的開發過程,以及RabbitMQ、Redis、SocketIO多種常用服務的集成開發;測試與發布模塊(第6章)講述Web框架的測試和開源項目的發布過程,深入探討製作開源項目涉及的各種關鍵知識點。 本書適合初學者入門,書中項目以真實線上開源項目為主線,深入探討了Web框架的實現細節,對於有經驗的開發者同樣有參考價值,尤其適合對開源項目有濃厚興趣的開發者。 "
目錄大綱
目錄
本書源代碼
第1章瞭解Web框架(51min)
1.1Web框架
1.1.1Web框架的應用領域
1.1.2主流編程語言的Web框架
1.1.3需要瞭解的相關知識
1.2TypeSpeed
1.2.1TypeSpeed框架的特性
1.2.2學習TypeSpeed的開發過程
1.3準備源代碼
1.3.1安裝環境
1.3.2安裝編碼工具
1.3.3獲取源代碼
1.4從零實現最簡Web框架
1.4.1顯示Hello World頁面
1.4.2增加頁面
1.4.3用面向對象方法組織頁面代碼
1.4.4增加數據庫查詢
1.4.5單例模式實現數據庫鏈接
1.4.6Web框架的主要組成部分
第2章構建框架核心(92min)
2.1TypeScript裝飾器
2.1.1裝飾器的用途
2.1.2如何設計裝飾器
2.1.3裝飾器執行原理
2.1.4定時任務裝飾器開發
2.1.5小結
2.2構建對象管理機制
2.2.1對象管理
2.2.2設計對象管理機制
2.2.3依賴註入
2.2.4對象工廠
2.2.5項目初始結構
2.2.6實現日誌功能
2.2.7入口文件機制
2.2.8小結
2.3系統配置管理
2.3.1約定優於配置
2.3.2設計程序配置規範
2.3.3配置的集成
2.3.4開發配置裝飾器
2.3.5小結
第3章Web服務系統(184min)
3.1集成Web服務框架
3.1.1ExpressJS
3.1.2中間件機制
3.1.3應用程序入口
3.1.4集成ExpressJS
3.1.5小結
3.2路由裝飾器
3.2.1簡單的路由實現
3.2.2路徑功能詳解
3.2.3開發路由裝飾器
3.2.4測試路由裝飾器
3.2.5優化路由裝飾器
3.2.6小結
3.3路由切麵功能
3.3.1面向切麵編程
3.3.2設計切麵程序功能
3.3.3@before切麵裝飾器
3.3.4@after切麵裝飾器
3.3.5小結
3.4請求參數裝飾器
3.4.1設計請求參數裝飾器
3.4.2請求參數裝飾器的實現
3.4.3用toString()優化裝飾器
3.4.4小結
3.5響應處理與模板引擎
3.5.1MVC設計模式
3.5.2JSON格式輸出
3.5.3模板引擎是什麽
3.5.4ExpressJS的模板引擎
3.5.5模板引擎的選型
3.5.6集成多模板引擎庫
3.5.7小結
3.6使用中間件增強框架功能
3.6.1靜態資源服務
3.6.2站點圖標功能
3.6.3傳輸壓縮實現
3.6.4Cookie
3.6.5Session
3.6.6小結
3.7文件上傳
3.7.1文件上傳原理
3.7.2使用文件上傳庫
3.7.3實現文件上傳裝飾器
3.7.4小結
3.8Web服務鑒權
3.8.1實現基本訪問認證
3.8.2實現驗證裝飾器
3.8.3攔截器
3.8.4開發全局攔截器機制
3.8.5實現JWT全局攔截器
3.8.6小結
3.9服務器端錯誤輸出
3.9.1捕捉常見錯誤
3.9.2錯誤日誌輸出
3.9.3美化內置錯誤頁面
3.9.4小結
第4章數據庫開發(184min)
4.1數據庫開發準備
4.1.1安裝Docker Desktop
4.1.2安裝MySQL
4.1.3連接MySQL
4.1.4創建測試數據庫
4.1.5創建測試表
4.2裝飾器風格的SQL方法
4.2.1SQL裝飾器的設計
4.2.2初步實現@Insert裝飾器
4.2.3初步實現@Update和@Delete
4.2.4@Select查詢實現
4.2.5小結
4.3參數綁定
4.3.1SQL註入攻擊示例
4.3.2SQL參數裝飾器
4.3.3優化查詢裝飾器
4.3.4小結
4.4查詢結果的處理
4.4.1數據類
4.4.2查詢結果裝飾器
4.4.3裝飾器配合使用
4.4.4小結
4.5內置查詢緩存
4.5.1緩存的作用
4.5.2內置緩存功能
4.5.3緩存裝飾器
4.5.4優化緩存更新
4.5.5小結
4.6模型風格的數據操作
4.6.1統一底層數據庫執行機制
4.6.2設計Model類型
4.6.3開發模型查詢方法
4.6.4小結
4.7自定義查詢語法
4.7.1設計自定義查詢語法
4.7.2開發比較條件語法
4.7.3開發模糊查詢和 OR 語法
4.7.4優化查詢方法
4.7.5便捷查詢方法
4.7.6小結
4.8增、刪、改的優化
4.8.1增、刪、改方法
4.8.2簡化查詢方法
4.8.3簡化修改方法
4.8.4小結
4.9內置分頁
4.9.1頁碼計算
4.9.2實現查詢內置分頁
4.9.3小結
4.10數據源讀寫分離
4.10.1數據源
4.10.2主從數據庫架構
4.10.3設計多數據源機制
4.10.4內置多數據源實現
4.10.5測試多數據源
4.10.6小結
第5章常用服務(198min)
5.1消息隊列功能
5.1.1RabbitMQ
5.1.2安裝RabbitMQ
5.1.3創建交換機和隊列
5.1.4使用amqplib庫
5.1.5監聽消息裝飾器
5.1.6註入發送消息方法
5.1.7小結
5.2Socket.IO 即時通信
5.2.1Socket.IO
5.2.2即時通信
5.2.3使用Socket.IO
5.2.4與Web服務共享埠
5.2.5開發Socket.IO裝飾器
5.2.6測試即時通信功能
5.2.7小結
5.3Redis 數據庫
5.3.1安裝Redis服務
5.3.2集成Redis
5.3.3發布訂閱功能
5.3.4優化排行榜邏輯
5.3.5Session支持Redis 存儲
5.3.6小結
5.4命令行腳手架功能
5.4.1腳手架是什麽
5.4.2開發命令行程序
5.4.3發布命令
5.4.4小結
5.5支持Swagger平臺
5.5.1Swagger接口交互平臺
5.5.2外部項目
5.5.3設計TypeSpeedSwagger
5.5.4實現集成Swagger中間件
5.5.5替換裝飾器收集接口信息
5.5.6小結
5.6自動化文檔
5.6.1JSDoc文檔和工具
5.6.2Reflect Metadata運行原理
5.6.3進階反射庫
5.6.4實現中間件配置
5.6.5獲取對象詳細信息
5.6.6小結
第6章項目測試與發布(63min)
6.1開源項目的測試
6.1.1單元測試
6.1.2Mocha測試框架
6.1.3調整框架配合測試
6.1.4編寫測試集
6.1.5測試結果
6.1.6小結
6.2測試覆蓋率
6.2.1測試覆蓋率
6.2.2持續集成
6.2.3GitHub Action
6.2.4測試覆蓋率報告
6.2.5小結
6.3NPM發布
6.3.1框架目錄結構
6.3.2導出類型定義
6.3.3框架配置
6.3.4發布項目