注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合Node.js實戰(zhàn)

Node.js實戰(zhàn)

Node.js實戰(zhàn)

定 價:¥69.00

作 者: (美)Mike,Cantelon,Marc,Harter,T.J.,Holowaychuk,Nathan,Rajlich 著,吳海星 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 程序設(shè)計 計算機/網(wǎng)絡(luò)

ISBN: 9787115352460 出版時間: 2014-05-01 包裝: 平裝
開本: 16開 頁數(shù): 340 字數(shù):  

內(nèi)容簡介

  《Node.js實戰(zhàn)》是Node.js的實戰(zhàn)教程,涵蓋了為開發(fā)產(chǎn)品級Node應(yīng)用程序所需要的一切特性、技巧以及相關(guān)理念。從搭建Node開發(fā)環(huán)境,到一些簡單的演示程序,到開發(fā)復(fù)雜應(yīng)用程序所必不可少的異步編程。書中還介紹了HTTP API的應(yīng)用技巧等?!禢ode.js實戰(zhàn)》適合Web開發(fā)人員閱讀。

作者簡介

  Mike Cantelon,Node.js核心框架貢獻者、Node社區(qū)活躍分子、資深培訓(xùn)師和演講人。Marc Harter,Node.js核心框架貢獻者。T.J. Holowaychuk,參與開發(fā)了很多Node.js模塊,包括流行的Express框架。Nathan Rajlich,大名鼎鼎的TooTallNate,Node.js核心代碼提交者。

圖書目錄

第一部分 Node基礎(chǔ)
第1章 歡迎進入Node.js世界 2
1.1 構(gòu)建于JavaScript之上 3
1.2 異步和事件觸發(fā):瀏覽器 4
1.3 異步和事件觸發(fā):服務(wù)器 5
1.4 DIRT程序 6
1.5 默認DIRT 8
1.5.1 簡單的異步程序 9
1.5.2 Hello World HTTP服務(wù)器 10
1.5.3 流數(shù)據(jù) 10
1.6 小結(jié) 11
第2章 構(gòu)建有多個房間的聊天室程序 12
2.1 程序概覽 12
2.2 程序需求及初始設(shè)置 15
2.2.1 提供HTTP和WebSocket服務(wù) 15
2.2.2 創(chuàng)建程序的文件結(jié)構(gòu) 16
2.2.3 指明依賴項 16
2.2.4 安裝依賴項 17
2.3 提供HTML、CSS和客戶端JavaScript的服務(wù) 18
2.3.1 創(chuàng)建靜態(tài)文件服務(wù)器 19
2.3.2 添加HTML和CSS文件 21
2.4 用Socket.IO處理與聊天相關(guān)的消息 23
2.4.1 設(shè)置Socket.IO服務(wù)器 24
2.4.2 處理程序場景及事件 25
2.5 在程序的用戶界面上使用客戶端JavaScript 29
2.5.1 將消息和昵稱/房間變更請求傳給服務(wù)器 29
2.5.2 在用戶界面中顯示消息及可用房間 30
2.6 小結(jié) 34
第3章 Node編程基礎(chǔ) 35
3.1 Node功能的組織及重用 36
3.1.1 創(chuàng)建模塊 37
3.1.2 用module.exports微調(diào)模塊的創(chuàng)建 39
3.1.3 用node_modules重用模塊 40
3.1.4 注意事項 41
3.2 異步編程技術(shù) 42
3.2.1 用回調(diào)處理一次性事件 43
3.2.2 用事件發(fā)射器處理重復(fù)性事件 46
3.2.3 異步開發(fā)的難題 53
3.3 異步邏輯的順序化 54
3.3.1 什么時候使用串行流程控制 55
3.3.2 實現(xiàn)串行化流程控制 56
3.3.3 實現(xiàn)并行化流程控制 58
3.3.4 利用社區(qū)里的工具 60
3.4 小結(jié) 61
第二部分 用Node開發(fā)Web程序
第4章 構(gòu)建Node Web程序 64
4.1 HTTP服務(wù)器的基礎(chǔ)知識 64
4.1.1 Node如何向開發(fā)者呈現(xiàn)HTTP請求 65
4.1.2 一個用“Hello World”做響應(yīng)的HTTP服務(wù)器 67
4.1.3 讀取請求頭及設(shè)定響應(yīng)頭 67
4.1.4 設(shè)定HTTP響應(yīng)的狀態(tài)碼 67
4.2 構(gòu)建RESTful Web服務(wù) 68
4.2.1 用POST請求創(chuàng)建資源 69
4.2.2 用GET請求獲取資源 71
4.2.3 用DELETE請求移除資源 72
4.3 提供靜態(tài)文件服務(wù) 73
4.3.1 創(chuàng)建一個靜態(tài)文件服務(wù)器 73
4.3.2 處理服務(wù)器錯誤 77
4.3.3 用fs.stat()實現(xiàn)先發(fā)制人的錯誤處理 77
4.4 從表單中接受用戶輸入 78
4.4.1 處理提交的表單域 78
4.4.2 用formidable處理上傳的文件 81
4.4.3 計算上傳進度 84
4.5 用HTTPS加強程序的安全性 85
4.6 小結(jié) 86
第5章 存儲Node程序中的數(shù)據(jù) 87
5.1 無服務(wù)器的數(shù)據(jù)存儲 88
5.1.1 內(nèi)存存儲 88
5.1.2 基于文件的存儲 88
5.2 關(guān)系型數(shù)據(jù)庫管理系統(tǒng) 91
5.2.1 MySQL 91
5.2.2 PostgreSQL 99
5.3 NoSQL數(shù)據(jù)庫 100
5.3.1 Redis 101
5.3.2 MongoDB 105
5.3.3 Mongoose 107
5.4 小結(jié) 109
第6章 Connect 110
6.1 搭建一個Connect程序 111
6.2 Connect的工作機制 112
6.2.1 做日志的中間件 112
6.2.2 響應(yīng)“hello world”的中間件 113
6.3 為什么中間件的順序很重要 114
6.3.1 中間件什么時候不調(diào)用next() 114
6.3.2 用中間件的順序執(zhí)行認證 115
6.4 掛載中間件和服務(wù)器 115
6.4.1 認證中間件 116
6.4.2 顯示管理面板的中間件 117
6.5 創(chuàng)建可配置中間件 118
6.5.1 創(chuàng)建可配置的logger中間件組件 119
6.5.2 構(gòu)建路由中間件組件 120
6.5.3 構(gòu)建一個重寫URL的中間件組件 122
6.6 使用錯誤處理中間件 123
6.6.1 Connect的默認錯誤處理器 124
6.6.2 自行處理程序錯誤 124
6.6.3 使用多個錯誤處理中間件組件 125
6.7 小結(jié) 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 實現(xiàn)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():開發(fā)錯誤處理 150
7.4 提供靜態(tài)文件服務(wù)的中間件 152
7.4.1 static():靜態(tài)文件服務(wù) 152
7.4.2 compress():壓縮靜態(tài)文件 154
7.4.3 directory():目錄列表 156
7.5 小結(jié) 157
第8章 Express 158
8.1 生成程序骨架 160
8.1.1 安裝Express的可執(zhí)行程序 161
8.1.2 生成程序 162
8.1.3 探索程序 162
8.2 配置Express和你的程序 164
8.3 渲染視圖 166
8.3.1 視圖系統(tǒng)配置 167
8.3.2 視圖查找 169
8.3.3 把數(shù)據(jù)輸出到視圖中 171
8.4 處理表單和文件上傳 175
8.4.1 實現(xiàn)照片模型 175
8.4.2 創(chuàng)建照片上傳表單 176
8.4.3 顯示上傳照片列表 178
8.5 創(chuàng)建資源下載 179
8.5.1 創(chuàng)建照片下載路由 179
8.5.2 實現(xiàn)照片下載路由 180
8.6 小結(jié) 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 先進的路由技術(shù) 199
9.2.1 校驗用戶內(nèi)容提交 199
9.2.2 特定路由中間件 202
9.2.3 實現(xiàn)分頁 205
9.3 創(chuàng)建一個公開的REST API 208
9.3.1 設(shè)計API 208
9.3.2 添加基本的認證 209
9.3.3 實現(xiàn)路由 209
9.3.4 啟用內(nèi)容協(xié)商 212
9.4 錯誤處理 214
9.4.1 處理404錯誤 215
9.4.2 處理錯誤 217
9.5 小結(jié) 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 小結(jié) 239
第11章 Web程序模板 240
11.1 用模板保持代碼的整潔性 240
11.2 嵌入JavaScript的模板 244
11.2.1 創(chuàng)建模板 245
11.2.2 用EJS過濾器處理模板數(shù)據(jù) 246
11.2.3 將EJS集成到你的程序中 249
11.2.4 在客戶端程序中使用EJS 250
11.3 使用Mustache模板語言與Hogan 251
11.3.1 創(chuàng)建模板 251
11.3.2 Mustache標簽 252
11.3.3 微調(diào)Hogan 254
11.4 用Jade做模板 255
11.4.1 Jade基礎(chǔ)知識 256
11.4.2 Jade模板中的邏輯 258
11.4.3 組織Jade模板 260
11.5 小結(jié) 264
第三部分 在Node中更進一步
第12章 部署Node程序并維持正常運行時間 266
12.1 安置Node程序 266
12.1.1 專用的和虛擬私有服務(wù)器 267
12.1.2 云主機 268
12.2 部署的基礎(chǔ)知識 269
12.2.1 從Git存儲庫部署 270
12.2.2 讓Node保持運行 270
12.3 讓正常運行時間和性能達到最優(yōu) 271
12.3.1 用Upstart維護正常運行時間 272
12.3.2 集群API:利用多核的優(yōu)勢 273
12.3.3 靜態(tài)文件及代理 275
12.4 小結(jié) 277
第13章 超越Web服務(wù)器 278
13.1 Socket.IO 278
13.1.1 創(chuàng)建一個最小的Socket.IO程序 279
13.1.2 用Socket.IO觸發(fā)頁面和CSS的重新加載 281
13.1.3 Socket.IO的其他用法 283
13.2 深入TCP/IP網(wǎng)絡(luò) 284
13.2.1 處理緩沖區(qū)和二進制數(shù)據(jù) 284
13.2.2 創(chuàng)建TCP服務(wù)器 286
13.2.3 創(chuàng)建TCP客戶端 289
13.3 跟操作系統(tǒng)交互的工具 290
13.3.1 單例的全局process對象 291
13.3.2 使用文件系統(tǒng)模塊 293
13.3.3 繁衍外部進程 296
13.4 開發(fā)命令行工具 301
13.4.1 解析命令行參數(shù) 301
13.4.2 處理stdin和stdout 302
13.4.3 添加彩色的輸出 304
13.5 小結(jié) 306
第14章 Node生態(tài)系統(tǒng) 307
14.1 給Node開發(fā)人員的在線資源 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協(xié)作 314
14.3 為npm庫做貢獻 316
14.3.1 準備包 317
14.3.2 編寫包規(guī)范 317
14.3.3 測試和發(fā)布包 318
14.4 小結(jié) 320
附錄A 安裝Node和社區(qū)附加組件 321
附錄B 調(diào)試Node 329
附錄C Express的擴展及配置 336

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號