狼書 (捲1) : 更了不起的 Node.js

狼叔

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

商品描述

Node.js開發簡單,性能極好,一經發布便成了明星級項目。隨著大前端領域的蓬勃發展,跨平臺開發、API構建、Web應用開發等場景愈加常見,Node.js也成為大前端開發的必備“神器”。本書以Node.js為主,講解了Node.js的基礎知識、開發調試方法、源碼原理和應用場景,旨在向讀者展示如何通過最新的Node.js和npm編寫出更具前端特色、更具工程化優勢的代碼。本書還講解了Node.js中相當核心且復雜的異步流程控制,展望了未來異步流程的發展方向,非常適合大前端領域及後端領域的測試、運維及軟件開發從業者閱讀、學習。

作者簡介

狼叔(網名i5ting)
Node.js 技術佈道者,“Node全棧”公眾號作者,全棧技術實踐者。曾就職於多家知名IT企業,從事前端開發、後端開發、數據分析等工作,目前負責公司內的Node.js開發和基礎框架開發工作。

目錄大綱

第1章Node.js初識1
1.1引子1
1.2 JavaScript 7
1.3什麼是Node.js 9
1.3.1 Node.js概述9
1.3.2 Node.js的特點12
1.3.3 Node.js的應用場景16
1.4本章小結18
第2章Node.js安裝與入門19
2.1安裝Node.js 19
2.1.1 3m安裝法19
2.1.2 nvm 20
2.1.3 npm 26
2.1.4 nrm 32
2.1.5從源碼進行編譯35
2.1 .6狀態理論35
2.2 Hello Node.js!36
2.2.1 Hello World 36
2.2.2 Hello CommonJS 37
2.2.3 Hello HTTP 38
2.3編輯器與調試41
2.3.1 IDE/編輯器41
2.3.2 VSCode 42
2.3.3調試45
2.4本章小結52
第3章更了不起的Node.js 53
3.1架構升級53
3.1.1從LAMP到MEAN 54
3.1.2前後端分離55
3.1.3頁面即服務58
3.1.4場景決定選型59
3.2貫穿開發全過程60
3.2.1靜態API 60
3.2.2現代Web開發63
3.2.3後端開發68
3.3更多樂趣78
3.3.1更多應用場景78
3.3.2 C/C擴展79
3.3.3團隊優化80
3.3.4全棧之路81
3.4本章小結85
第4章更好的Node.js 86
4.1選擇86
4.1.1語法可難可易86
4.1.2開發大型軟件90
4.1.3特定場景下的快速開發91
4.2單線程會“死”嗎92
4.2.1 uncaughtException 93
4.2.2異常捕獲94
4.2.3 forever 95
4.2.4小集群:單台服務器上多個實例95
4.2.5大集群:多台機器96
4.3為Node.js正名98
4.3.1版本帝?98
4.3.2已無性能優勢?99
4.3.3異步和回調地獄?100
4.3.5技術棧演進101
4.4更好的實踐102
4.4.1 ES.next 102
4.4.2類型系統110
4.4.3更好的npm替代品——Yarn 111
4.4.4多模塊管理器Lerna 113
4.5本章小結114
第5章Node.js是如何執行的115
5.1準備115
5.1.1編輯器116
5.1.2編譯117
5.1.3調試118
5.2編譯步驟120
5.2.1 configure 120
5.2.2 make 130
5.2.3 make install 132
5.3從入口開始135
5.3.1核心流程137
5.3.2構造process對象139
5.3.3 LoadEnvironment 147
5.3.4 bootstrap_node.js 148
5.3.5 EventLoop啟動方法160
5.4 API調用過程162
5.4.1相關的引用163
5.4 .2 FSReqWrap 163
5.4.3核心open方法164
5.4.4 src/node_file.cc 164
5.5事件循環機制167
5.5.1概覽167
5.5.2生命週期169
5.5.3 microtask和macrotask 170
5.5.4 process.nextTick( callback) 173
5.6本章小結175
第6章模塊與核心176
6.1 CommonJS規範176
6.1.1簡介176
6.1.2核心技術181
6.2 Node.js模塊189
6.2.1從源碼分析實現原理189
6.2.2從Node. js代碼執行開始191
6.2.3深入理解模塊195
6.2.4全局對象205
6.2.5 Node.js模塊詳解215
6.3未來展望:ES模塊220
6.3.1 ES模塊入門221
6.3.2模塊導入222
6.3.3模塊導出222
6.3. 4 ES模塊示例223
6.3.5兼容性更好的@std/esm 224
6.4本章小結224
第7章異步寫法與流程控制225
7.1異步調用226
7.1.1異步與同步226
7.1.2瀏覽器中的異步227
7.1.3 Node.js異步原理227
7.1.4 API和示例229
7.1.5代碼優化231
7.2 Node.js自帶的異步寫法236
7.2.1錯誤優先的回調方式236
7.2.2 EventEmitter 240
7.2.3該選擇哪種風格的寫法247
7.3更好的異步流程控制248
7.3.1回調地獄248
7.3.2 Thunk 252
7.3.3 Promise 254
7.3.4 Generator 276
7.3.5 async函數282
7.4本章小結287