狼書 (捲3) : Node.js 高級技術

狼叔

買這商品的人也買了...

商品描述

Node.js開發簡單,性能極好,一經發布便成了明星級項目。隨著大前端領域的蓬勃發展,跨平臺開發、API構建、Web應用開發等場景愈加常見,Node.js也成為大前端開發的必備“神器”。本書聚焦於Node.js高級技術。第1章介紹如何編寫npm模塊,其中涉及對許多常用模塊的解析。第2章介紹如何編寫企業級Web開發框架,主要剖析了開發框架的流程。第3章介紹如何構建具有Node.js特色的服務,著重講解了頁面即服務的概念。第4章介紹服務器部署與性能調優的相關知識。第5章介紹TDD和BDD理念,以及如何編寫測試用例,同時分享了筆者關於開源和自學的看法。基於Node.js不斷進階,實現高級應用開發是符合技術趨勢的,也是全棧工程師必須掌握的技能。因此,各位大前端領域及後端領域的測試、運維、軟件開發從業者都適合閱讀本書。

目錄大綱

第1章 自己動手寫npm模塊 1
1.1 基礎技能 1
1.1.1 環境變量 2
1.1.2 Zsh 2
1.1.3 Vim 3
1.1.4 Ack 4
1.1.5 Autojump 5
1.1.6 Git和GitHub 5
1.1.7 查詢文檔 6
1.2 編寫Node.js模塊 6
1.2.1 初始化模塊 6
1.2.2 普通模塊 7
1.2.3 二進制模塊 9
1.3 npm技巧 13
1.3.1 npm run 13
1.3.2 配置 13
1.3.3 鉤子 15
1.3.4 npm link 16
1.3.5 自定義安裝 16
1.3.6 模塊瘦身 17
1.3.7 postinstall 17
1.3.8 路徑 18
1.3.9 模塊依賴圖 20
1.4 實例講解 22
1.4.1 kp 22
1.4.2 je 27
1.4.3 lazyclone 30
1.5 編寫腳手架 31
1.5.1 初始化模塊 32
1.5.2 CLI二進制模塊 32
1.5.3 使用模板引擎 34
1.5.4 解析CLI參數和路徑 35
1.5.5 npm發布 40
1.6 開源周邊 40
1.6.1 持續集成 40
1.6.2 測試覆蓋率 45
1.6.3 徽章 45
1.6.4 反向學習 46
1.7 推薦模塊 46
1.7.1 debug 47
1.7.2 GitBook 48
1.7.3 colors和chalk 49
1.7.4 mkdirp 50
1.7.5 shelljs 50
1.7.6 moment 51
1.7.7 LRU緩存 52
1.7.8 semver 53
1.7.9 xtend 55
1.7.10 require-directory 56
1.7.11 yargs 57
1.8 本章小結 59
第2章 自己動手編寫企業級Web開發框架 60
2.1 特色Web框架 60
2.1.1 LoopBack 61
2.1.2 Nest 63
2.1.3 ThinkJS 66
2.1.4 Egg.js 69
2.1.5 Next.js 70
2.1.6 Redwood 72
2.1.7 strapi 76
2.2 自己動手寫框架 78
2.2.1 基礎知識 78
2.2.2 生成項目 81
2.2.3 添加Mongoose 91
2.2.4 添加MVC目錄 96
2.2.5 庖丁解Views 103
2.2.6 腳手架 112
2.2.7 靜態API模擬 114
2.2.8 更多實踐 122
2.3 本章小結 127
第3章 構建具有Node.js特色的服務 128
3.1 服務概覽 128
3.1.1 架構演變 128
3.1.2 從大而全到小而美 129
3.1.3 微服務應用 131
3.1.4 BFF中間層 134
3.1.5 SFF托管 137
3.2 使用Node.js優化頁面渲染 140
3.2.1 BigPipe 140
3.2.2 服務器端渲染(SSR) 150
3.2.3 漸進式Web應用(PWA) 153
3.2.4 同構開發 158
3.3 頁面即服務 162
3.3.1 頁面獨立 162
3.3.2 模塊拆分 164
3.3.3 BigView 165
3.3.4 API Proxy 175
3.3.5 源碼說明 176
3.4 使用Node.js開發RPC服務 178
3.4.1 RPC原理 178
3.4.2 通信層協議設計 179
3.4.3 如何實現RPC通信協議 180
3.4.4 DNode 181
3.4.5 Senaca 182
3.4.6 Moleculer 185
3.4.7 通用RPC 189
3.4.8 服務發現與治理 190
3.4.9 典型用法 192
3.5 使用Node.js開發獨立的API層 193
3.5.1 GraphQL 193
3.5.2 Micro框架 197
3.5.3 API網關 197
3.5.4 在線服務 199
3.6 本章小結 199
第4章 服務器部署與性能調優 200
4.1 服務器部署 200
4.1.1 服務器選購 201
4.1.2 手動部署 204
4.1.3 通過Docker部署 211
4.1.4 自動部署 224
4.1.5 APM與監控 231
4.2 性能調優 239
4.2.1 基礎知識 239
4.2.2 立體分析 246
4.2.3 深度性能調優 250
4.3 分析Easy-monitor 260
4.4 本章小結 262
第5章 測試、開源與自學 263
5.1 測試入門 264
5.1.1 什麽是測試 264
5.1.2 TDD和BDD 265
5.1.3 最小化問題 268
5.1.4 Baretest 269
5.1.5 TAP和Tape 271
5.1.6 Mocha 274
5.1.7 Jest 278
5.2 測試進階 283
5.2.1 測試的好處 283
5.2.2 紅到綠工作流 284
5.2.3 Cucumber 285
5.2.4 Spy、Stub和Mock 288
5.2.5 持續集成 291
5.2.6 如何編寫測試框架 292
5.2.7 如何打造開源項目 293
5.2.8 進一步學習TypeScript 294
5.3 開源帶來的機會和思考 310
5.3.1 Clipanion 310
5.3.2 機會與挑戰 312
5.3.3 敏感且會學 313
5.3.4 成就更好的自己 313
5.4 本章小結 314