Node.js_PDF ~ Node.js開發指南 [PDF電子書&原始碼]
Node.js_PDF ~ Node.js開發指南 [PDF電子書&原始碼]
資料來源: https://book.douban.com/subject/10789820/
目 錄
第1章 Node.js簡介 1
1.1 Node.js 是什麼 2
1.2 Node.js 能做什麼 3
1.3 非同步式 I/O 與事件驅動 4
1.4 Node.js 的性能 5
1.4.1 Node.js 架構簡介 5
1.4.2 Node.js 與 PHP + Nginx 6
1.5 JavaScript 簡史 6
1.5.1 Netscape 與 LiveScript 7
1.5.2 Java 與 Javascript 7
1.5.3 微軟的加入—— JScript 8
1.5.4 標準化—— ECMAScript 8
1.5.5 流覽器相容性問題 9
1.5.6 引擎效率革命和 JavaScript 的未來 9
1.6 CommonJS 10
1.6.1 服務端 JavaScript 的重生 10
1.6.2 CommonJS 規範與實現 11
1.7 參考資料 12
第2章 安裝和配置Node.js 13
2.1 安裝前的準備 14
2.2 快速安裝 14
2.2.1 Microsoft Windows系統上安裝Node.js 14
2.2.2 Linux 發行版本上安裝Node.js 16
2.2.3 Mac OS X上安裝Node.js 16
2.3 編譯原始程式碼 17
2.3.1 在 POSIX 系統中編譯 17
2.3.2 在 Windows系統中編譯 18
2.4 安裝Node 包管理器 18
2.5 安裝多版本管理器 19
2.6 參考資料 21
第3章 Node.js快速入門 23
3.1 開始用 Node.js 程式設計 24
3.1.1 Hello World 24
3.1.2 Node.js 命令列工具 25
3.1.3 建立 HTTP 伺服器 26
3.2 非同步式 I/O 與事件式程式設計 29
3.2.1 阻塞與執行緒 29
3.2.2 回呼函數 31
3.2.3 事件 33
3.3 模組和包 34
3.3.1 什麼是模組 35
3.3.2 創建及載入模組 35
3.3.3 創建包 38
3.3.4 Node.js 包管理器 41
3.4 調試 45
3.4.1 命令列調試 45
3.4.2 遠程調試 47
3.4.3 使用 Eclipse 調試 Node.js 48
3.4.4 使用 node-inspector 調試Node.js 54
3.5 參考資料 55
第4章 Node.js核心模組 57
4.1 全域物件 58
4.1.1 全域物件與全域變數 58
4.1.2 process 58
4.1.3 console 60
4.2 常用工具 util 61
4.2.1 util.inherits 61
4.2.2 util.inspect 62
4.3 事件驅動 events 63
4.3.1 事件發射器 64
4.3.2 error 事件 65
4.3.3 繼承 EventEmitter 65
4.4 檔案系統 fs 65
4.4.1 fs.readFile 66
4.4.2 fs.readFileSync 67
4.4.3 fs.open 67
4.4.4 fs.read 68
4.5 HTTP 伺服器與用戶端 70
4.5.1 HTTP 伺服器 70
4.5.2 HTTP 用戶端 74
4.6 參考資料 77
第5章 使用Node.js進行Web開發 79
5.1 準備工作 80
5.1.1 使用http模組 82
5.1.2 Express 框架 83
5.2 快速開始 84
5.2.1 安裝 Express 84
5.2.2 建立工程 85
5.2.3 啟動伺服器 86
5.2.4 工程的結構 87
5.3 路由控制 89
5.3.1 工作原理 89
5.3.2 創建路由規則 92
5.3.3 路徑匹配 93
5.3.4 REST 風格的路由規則 94
5.3.5 控制權轉移 95
5.4 範本引擎 97
5.4.1 什麼是範本引擎 97
5.4.2 使用範本引擎 98
5.4.3 頁面配置 99
5.4.4 片段視圖 100
5.4.5 視圖助手 100
5.5 建立微博網站 102
5.5.1 功能分析 102
5.5.2 路由規劃 102
5.5.3 介面設計 103
5.5.4 使用Bootstrap 104
5.6 用戶註冊和登錄 107
5.6.1 訪問資料庫 107
5.6.2 會話支援 110
5.6.3 註冊和登入 111
5.6.4 頁面許可權控制 120
5.7 發表微博 123
5.7.1 微博模型 123
5.7.2 發表微博 125
5.7.3 使用者頁面 126
5.7.4 首頁 127
5.7.5 下一步 129
5.8 參考資料 129
第6章 Node.js進階話題 131
6.1 模組載入機制 132
6.1.1 模組的類型 132
6.1.2 按路徑載入模組 132
6.1.3 通過查找node_modules目錄載入模組 133
6.1.4 載入緩存 134
6.1.5 載入順序 134
6.2 控制流 135
6.2.1 迴圈的陷阱 135
6.2.2 解決控制流難題 137
6.3 Node.js 應用部署 138
6.3.1 日誌功能 138
6.3.2 使用cluster模組 140
6.3.3 啟動腳本 142
6.3.4 共用80埠 143
6.4 Node.js 不是銀彈 144
6.5 參考資料 146
附錄A JavaScript的高級特性 147
附錄B Node.js程式設計規範 167
索引 175