內容簡介
本書歡淚擊譽首先簡要介紹Node.js,然後通過各種示例講解Node.js 的基本特性,再用案例式教學的方式講述如何用Node.js 進行Web 開發,接著探討一些Node.js 進階話題,最後槳斷戒體展示如何將一個Node.js 套用部署到生產環境中。本書面向對Node.js 感興趣,但沒有基礎的讀者,也可供鑽習再已了解Node.js,並對Web 前端/ 後端開發有一定經驗,同時想嘗試新技術的開發者參考。
圖書目錄
1.1 Node.js 是什麼 2
1.2 Node.js 能做什麼 3
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.6 引擎效率革命和 JavaScript 的未來 9
1.6 CommonJS 10
1.6.1 服務端 JavaScript 的重生 10
1.6.2 CommonJS 規範與實現 11
1.7 參考資料 12
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.1 在 POSIX 系統中編譯 17
2.3.2 在 Windows系統中編譯 18
2.4 安裝Node 包管理器 18
2.6 參考資料 21
3.1 開始用 Node.js 編程 24
3.1.1 Hello World 24
3.1.2 Node.js 命令行工具 25
3.1.3 建立 HTTP 伺服器 26
3.2.3 事件 33
3.3 模組和包 34
3.3.1 什麼是模組 35
3.3.2 創建及載入模組 35
3.3.3 創建包 38
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.1 HTTP 伺服器 70
4.5.2 HTTP 客戶端 74
4.6 參考資料 77
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.1 日誌功能 138
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
3.3.1 什麼是模組 35
3.3.2 創建及載入模組 35
3.3.3 創建包 38
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.1 HTTP 伺服器 70
4.5.2 HTTP 客戶端 74
4.6 參考資料 77
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.1 日誌功能 138
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