發表於2024-09-11
Node.js核心框架貢獻者代錶作,Node.js項目負責人、Node包管理器(NPM)作者力薦!
點擊進入品牌店:
Mike Cantelon,Node.js核心框架貢獻者、Node社區活躍分子、資深培訓師和演講人。
Marc Harter,Node.js核心框架貢獻者。
T.J. Holowaychuk,參與開發瞭很多Node.js模塊,包括流行的Express框架。
Nathan Rajlich,大名鼎鼎的TooTallNate,Node.js核心代碼提交者。
★“這本書由眾位大神寫來,駕輕就熟地告訴大傢Node應用該如何編寫。從側麵也能看齣Node是一個多麼輕量級的平颱。期望你看完之後也能駕輕就熟地編寫屬於自己的Node應用。”
——樸靈,Node.js布道者、《深入淺齣Node.js》作者。
★“一本由淺入深、循序漸進的佳作。”
——Isaac Z. Schlueter,Node.js項目負責人、Node包管理器(NPM)作者。
第一部分 Node基礎
第1章 歡迎進入Node.js世界 2
1.1 構建於JavaScript之上 3
1.2 異步和事件觸發:瀏覽器 4
1.3 異步和事件觸發:服務器 5
1.4 DIRT程序 6
1.5 默認DIRT 8
1.5.1 簡單的異步程序 9
1.5.2 Hello World HTTP服務器 10
1.5.3 流數據 10
1.6 小結 11
第2章 構建有多個房間的聊天室程序 12
2.1 程序概覽 12
2.2 程序需求及初始設置 15
2.2.1 提供HTTP和WebSocket服務 15
2.2.2 創建程序的文件結構 16
2.2.3 指明依賴項 16
2.2.4 安裝依賴項 17
2.3 提供HTML、CSS和客戶端JavaScript的服務 18
2.3.1 創建靜態文件服務器 19
2.3.2 添加HTML和CSS文件 21
2.4 用Socket.IO處理與聊天相關的消息 23
2.4.1 設置Socket.IO服務器 24
2.4.2 處理程序場景及事件 25
2.5 在程序的用戶界麵上使用客戶端JavaScript 29
2.5.1 將消息和昵稱/房間變更請求傳給服務器 29
2.5.2 在用戶界麵中顯示消息及可用房間 30
2.6 小結 34
第3章 Node編程基礎 35
3.1 Node功能的組織及重用 36
3.1.1 創建模塊 37
3.1.2 用module.exports微調模塊的創建 39
3.1.3 用node_modules重用模塊 40
3.1.4 注意事項 41
3.2 異步編程技術 42
3.2.1 用迴調處理一次性事件 43
3.2.2 用事件發射器處理重復性事件 46
3.2.3 異步開發的難題 53
3.3 異步邏輯的順序化 54
3.3.1 什麼時候使用串行流程控製 55
3.3.2 實現串行化流程控製 56
3.3.3 實現並行化流程控製 58
3.3.4 利用社區裏的工具 60
3.4 小結 61
第二部分 用Node開發Web程序
第4章 構建Node Web程序 64
4.1 HTTP服務器的基礎知識 64
4.1.1 Node如何嚮開發者呈現HTTP請求 65
4.1.2 一個用“Hello World”做響應的HTTP服務器 67
4.1.3 讀取請求頭及設定響應頭 67
4.1.4 設定HTTP響應的狀態碼 67
4.2 構建RESTful Web服務 68
4.2.1 用POST請求創建資源 69
4.2.2 用GET請求獲取資源 71
4.2.3 用DELETE請求移除資源 72
4.3 提供靜態文件服務 73
4.3.1 創建一個靜態文件服務器 73
4.3.2 處理服務器錯誤 77
4.3.3 用fs.stat()實現先發製人的錯誤處理 77
4.4 從錶單中接受用戶輸入 78
4.4.1 處理提交的錶單域 78
4.4.2 用formidable處理上傳的文件 81
4.4.3 計算上傳進度 84
4.5 用HTTPS加強程序的安全性 85
4.6 小結 86
第5章 存儲Node程序中的數據 87
5.1 無服務器的數據存儲 88
5.1.1 內存存儲 88
5.1.2 基於文件的存儲 88
5.2 關係型數據庫管理係統 91
5.2.1 MySQL 91
5.2.2 PostgreSQL 99
5.3 NoSQL數據庫 100
5.3.1 Redis 101
5.3.2 MongoDB 105
5.3.3 Mongoose 107
5.4 小結 109
第6章 Connect 110
6.1 搭建一個Connect程序 111
6.2 Connect的工作機製 112
6.2.1 做日誌的中間件 112
6.2.2 響應“hello world”的中間件 113
6.3 為什麼中間件的順序很重要 114
6.3.1 中間件什麼時候不調用next() 114
6.3.2 用中間件的順序執行認證 115
6.4 掛載中間件和服務器 115
6.4.1 認證中間件 116
6.4.2 顯示管理麵闆的中間件 117
6.5 創建可配置中間件 118
6.5.1 創建可配置的logger中間件組件 119
6.5.2 構建路由中間件組件 120
6.5.3 構建一個重寫URL的中間件組件 122
6.6 使用錯誤處理中間件 123
6.6.1 Connect的默認錯誤處理器 124
6.6.2 自行處理程序錯誤 124
6.6.3 使用多個錯誤處理中間件組件 125
6.7 小結 129
第7章 Connect自帶的中間件 130
7.1 解析cookie、請求主體和查詢字符串的中間件 131
7.1.1 cookieParser():解析HTTP cookie 131
7.1.2 bodyParser():解析請求主體 134
7.1.3 limit():請求主體的限製 135
7.1.4 query():查詢字符串解析 137
7.2 實現Web程序核心功能的中間件 138
7.2.1 logger():記錄請求 138
7.2.2 favicon():提供favicon 140
7.2.3 methodOverride():僞造HTTP方法 141
7.2.4 vhost():虛擬主機 143
7.2.5 session():會話管理 144
7.3 處理Web程序安全的中間件 148
7.3.1 basicAuth():HTTP基本認證 148
7.3.2 csrf():跨站請求僞造防護 150
7.3.3 errorHandler():開發錯誤處理 150
7.4 提供靜態文件服務的中間件 152
7.4.1 static():靜態文件服務 152
7.4.2 compress():壓縮靜態文件 154
7.4.3 directory():目錄列錶 156
7.5 小結 157
第8章 Express 158
8.1 生成程序骨架 160
8.1.1 安裝Express的可執行程序 161
8.1.2 生成程序 162
8.1.3 探索程序 162
8.2 配置Express和你的程序 164
8.3 渲染視圖 166
8.3.1 視圖係統配置 167
8.3.2 視圖查找 169
8.3.3 把數據輸齣到視圖中 171
8.4 處理錶單和文件上傳 175
8.4.1 實現照片模型 175
8.4.2 創建照片上傳錶單 176
8.4.3 顯示上傳照片列錶 178
8.5 創建資源下載 179
8.5.1 創建照片下載路由 179
8.5.2 實現照片下載路由 180
8.6 小結 182
第9章 Express進階 183
9.1 認證用戶 184
9.1.1 保存和加載用戶 184
9.1.2 注冊新用戶 189
9.1.3 已注冊用戶登錄 194
9.1.4 用戶加載中間件 197
9.2 先進的路由技術 199
9.2.1 校驗用戶內容提交 199
9.2.2 特定路由中間件 202
9.2.3 實現分頁 205
9.3 創建一個公開的REST API 208
9.3.1 設計API 208
9.3.2 添加基本的認證 209
9.3.3 實現路由 209
9.3.4 啓用內容協商 212
9.4 錯誤處理 214
9.4.1 處理404錯誤 215
9.4.2 處理錯誤 217
9.5 小結 220
第10章 測試Node程序 221
10.1 單元測試 222
10.1.1 assert模塊 222
10.1.2 Nodeunit 225
10.1.3 Mocha 227
10.1.4 Vows 232
10.1.5 should.js 234
10.2 驗收測試 235
10.2.1 Tobi 236
10.2.2 Soda 237
10.3 小結 239
第11章 Web程序模闆 240
11.1 用模闆保持代碼的整潔性 240
11.2 嵌入JavaScript的模闆 244
11.2.1 創建模闆 245
11.2.2 用EJS過濾器處理模闆數據 246
11.2.3 將EJS集成到你的程序中 249
11.2.4 在客戶端程序中使用EJS 250
11.3 使用Mustache模闆語言與Hogan 251
11.3.1 創建模闆 251
11.3.2 Mustache標簽 252
11.3.3 微調Hogan 254
11.4 用Jade做模闆 255
11.4.1 Jade基礎知識 256
11.4.2 Jade模闆中的邏輯 258
11.4.3 組織Jade模闆 260
11.5 小結 264
第三部分 在Node中更進一步
第12章 部署Node程序並維持正常運行時間 266
12.1 安置Node程序 266
12.1.1 專用的和虛擬私有服務器 267
12.1.2 雲主機 268
12.2 部署的基礎知識 269
12.2.1 從Git存儲庫部署 270
12.2.2 讓Node保持運行 270
12.3 讓正常運行時間和性能達到最優 271
12.3.1 用Upstart維護正常運行時間 272
12.3.2 集群API:利用多核的優勢 273
12.3.3 靜態文件及代理 275
12.4 小結 277
第13章 超越Web服務器 278
13.1 Socket.IO 278
13.1.1 創建一個最小的Socket.IO程序 279
13.1.2 用Socket.IO觸發頁麵和CSS的重新加載 281
13.1.3 Socket.IO的其他用法 283
13.2 深入TCP/IP網絡 284
13.2.1 處理緩衝區和二進製數據 284
13.2.2 創建TCP服務器 286
13.2.3 創建TCP客戶端 289
13.3 跟操作係統交互的工具 290
13.3.1 單例的全局process對象 291
13.3.2 使用文件係統模塊 293
13.3.3 繁衍外部進程 296
13.4 開發命令行工具 301
13.4.1 解析命令行參數 301
13.4.2 處理stdin和stdout 302
13.4.3 添加彩色的輸齣 304
13.5 小結 306
第14章 Node生態係統 307
14.1 給Node開發人員的在綫資源 308
14.1.1 Node和模塊的參考資料 308
14.1.2 Google群組 309
14.1.3 IRC 309
14.1.4 GitHub問題列錶 310
14.2 GitHub 310
14.2.1 GitHub入門 311
14.2.2 添加一個項目到GitHub中 312
14.2.3 用GitHub協作 314
14.3 為npm庫做貢獻 316
14.3.1 準備包 317
14.3.2 編寫包規範 317
14.3.3 測試和發布包 318
14.4 小結 320
附錄A 安裝Node和社區附加組件 321
附錄B 調試Node 329
附錄C Express的擴展及配置 336
寫一本關於Node.js的書是一項很有挑戰性的任務。這是一個相對新的平颱,最近纔剛剛趨於穩定。Node.js的核心一直在進化,並且社區中由用戶創建的模塊數量也呈現齣瞭爆炸性的增長,其發展速度沒人能跟得上。社區也仍然在找尋自己的聲音。寫書闡釋這樣一個還在不斷發展的主題,唯一的辦法是理解Node的本質,以及它為什麼這樣成功。這些Node.js老兵們就是這麼做的。Mike Cantelon在Node社區中極其活躍,用Node做實驗,談論Node。關於Node適閤做什麼——可能更重要的是不適閤做什麼,他有著極深的洞見。T. J. Holowaychuk是最多産的Node.js模塊作者之一,其中包括大規模流行的Web框架Express。Nathan Rajlich,也就是著名的TooTallNate,已經做瞭一段時間的Node.js核心代碼的提交者,他也是平颱發展到當前這種成熟狀態的積極推動力量。
本書吸取瞭他們豐富的經驗,帶著你從最初的Node.js安裝,到創建應用、調試程序和部署産品,一路走下去。你將瞭解到是什麼讓Node如此有趣,並從中窺見各位作者的理解,這樣Node項目將來的發展方嚮也變得更好理解瞭。最重要的是,本書內容由淺入深、循序漸進,每一階段都以之前所學的內容為基礎。
Node是一個正在升起的火箭,作者們成功地將你帶上瞭這一旅程。請將本書作為跳闆,從這裏齣發,開拓你自己的視野吧。
Isaac Z. Schlueter
Node包管理器(NPM)作者
Node.js項目負責人
Node.js實戰 下載 mobi pdf epub txt 電子書 格式 2024
Node.js實戰 下載 mobi epub pdf 電子書深入學習必備。。。。。
評分尚未學習,先囤積一下
評分很好的一本書。。。。。。。。。
評分送過來邊角都爛掉啦
評分好東西
評分內容翔實,推薦購買,推薦研讀
評分買給兒子看的,很不錯哦!
評分此用戶未填寫評價內容
評分很好,非常適閤我這種小白菜
Node.js實戰 mobi epub pdf txt 電子書 格式下載 2024