Node學習指南

Node學習指南

Node.js是一套用來編寫高性能網路伺服器的JavaScript工具包。它可以讓JavaScript在伺服器端運行,因此,可用來快速構建網路服務及套用的平台。 《Node學習指南》是學習Node編程的入門指南。全書共16章。前4章主要介紹Node基本知識,包管理工具(npm)的安裝和使用等。第5章介紹了Node處理異步開發的獨特的實現方式等。第6~8章,講解了路由、代理、Web伺服器、中間件等基本概念,包括Express。第9章到第11章分別介紹了基於Redis、MongoDB以及關係型資料庫的Node套用開發。第12章到第14章分別介紹了圖形和媒體、Sockets.io模組、調試和測試等主題。第15章介紹了安全和許可權的問題,第16章介紹了Node套用的擴展和部署。 《Node學習指南》適合有一定基礎的JavaScript程式設計師閱讀,也適合對學習Node套用開發感興趣的讀者學習參考。

基本介紹

  • 書名:Node學習指南
  • 作者:鮑爾絲 (Shelley Powers)
  • 出版社人民郵電出版社
  • 頁數:360頁
  • 開本:16
  • 外文名:Learning Node
  • 譯者:夏思雨
  • 出版日期:2014年3月1日
  • 語種:簡體中文
  • ISBN:7115337969
基本介紹,內容簡介,作者簡介,專業推薦,媒體推薦,名人推薦,圖書目錄,

基本介紹

內容簡介

■ 探索Node獨特的異步開發的實現方式;
■ 使用Express架構和Connect中間件構建Node套用示例;
■ 使用NoSQL解決方案,比如Redis和MongoDB,探索Node的關係資料庫模組;
■ 使用PDF檔案,提供HTML5媒體,使用Canvas創建圖形;
■ 使用WebSockets創建瀏覽器伺服器的雙向通信;
■ 深入學習如何調試和測試程式;
■ 在雲伺服器或者自己的系統上部署Node應用程式。
精彩的內容將幫助你將Web開發技能從瀏覽器端轉向Node伺服器,並且學習如何使用Node這種基於JavaScript的平台編寫出快速和高可擴展性的網路套用。你可以快速掌握Node的核心技能,獲得使用內建和擴展模組的經驗,並了解客戶端編程和伺服器端編程的不同和相同之處。
如果你喜歡使用JavaScript,書中提供了很多代碼和開發的示例來幫助你學習Node伺服器端的開發。

作者簡介

Shelley Powers從JavaScript剛發布時,就開始使用和編寫Web技術相關書籍。她之前在O’Reilly出版了8本書,包括Developing ASP Components(2001),Adding Ajax(2007)和JavaScript Cookbook(2010)。

專業推薦

媒體推薦

“一本非常好的介紹Node.js的書。我一直把它放在觸手可及的地方。”
——Mike Amundsen,Building Hypermedia APIs with HTML5 and Node一書作者

名人推薦

“一本非常好的介紹Node.js的書。我一直把它放在觸手可及的地方。”
——Mike Amundsen Building Hypermedia APIs with HTML5 and Node一書作者

圖書目錄

第1章 Node.js:啟動與運行 1
1.1 搭建Node開發環境 2
1.1.1 Linux(Ubuntu)下安裝Node 2
1.1.2 Windows7平台下Node+WebMatrix 4
1.1.3 升級Node 8
1.2 開始Node開發 9
1.2.1 Hello,WorldinNode 9
1.2.2 分析“Hello,World” 11
1.3 異步函式及Node事件循環 13
1.3.1 使用異步方式讀取檔案 14
1.3.2 觀察異步程式流程 15
1.4 Node的優勢 19
第2章 Node與REPL 20
2.1 REPL:先睹為快和未定義的表達式 20
2.2 REPL的優勢:更好地理解表層之下的JavaScript 22
2.3 多行以及更複雜的JavaScript 23
2.3.1 REPL命令 26
2.3.2 REPL和rlwrap 27
2.3.3 定製REPL 28
2.4 不可預計的意外——記得經常保存 32
第3章 Node核心庫 33
3.1 全局對象:global、process和Buffer 34
3.1.1 global 34
3.1.2 process 36
3.1.3 Buffer 38
3.2 定時器:setTimeout、clearTimeout、setInterval和clearInterval 39
3.3 Servers、Streams和Sockets 40
3.3.1 TCPSockets和Servers 41
3.3.2 HTTP 43
3.3.3 UDP數據報套接字 45
3.3.4 流、管道和Readline 47
3.4 子進程 49
3.4.1 child_process.spawn 50
3.4.2 child_process.exec和child_process.execFile 52
3.4.3 child_process.fork 52
3.4.4 在Windows系統中使用子進程 53
3.5 域名解析和URL處理 54
3.6 Utilities模組和對象繼承 55
3.7 Events和EventEmitter 59
第4章 Node模組系統 63
4.1 使用require和默認路徑載入模組 63
4.2 外部模組和Node包管理工具 65
4.3 如何找到你需要的模組 69
4.3.1 Colors:簡單至上 71
4.3.2 Optimist:另一個簡單的小模組 73
4.3.3 Underscore 74
4.4 創建自定義模組 75
4.4.1 打包整個目錄 76
4.4.2 為你的模組發布做準備 76
4.4.3 發布模組 80
第5章 控制流、異步模式和異常處理 82
5.1 使用Callback而不使用Promises 82
5.2 順序調用、嵌套回調、異常捕獲 85
5.3 異步模式和控制流模組 92
5.3.1 Step 93
5.3.2 Async 96
5.4 Node編碼風格 101
第6章 路由定址、服務檔案和中間件 103
6.1 從頭開始:創建一個簡單的靜態檔案伺服器 103
6.2 中間件 110
6.2.1 Connect基本知識 111
6.2.2 Connect中間件 113
6.2.3 定製Connect中間件 118
6.3 Routers 121
6.4 Proxies 124
第7章 Express框架 128
7.1 Express:啟動和運行 129
7.2 app.js檔案 130
7.3 錯誤處理 133
7.4 Express與Connect的關係 134
7.5 路由 135
7.5.1 路由路徑 137
7.5.2 路由和HTTP動詞 140
7.6 關於MVC 147
7.7 使用cURL測試Express應用程式 152
第8章 Express、模板系統和CSS 154
8.1 EJS模板系統(EmbeddedJavaScriptTemplateSystem) 154
8.1.1 基本語法 155
8.1.2 Node與EJS 156
8.1.3 EJS與NodeFilters 158
8.2 在Express中使用EJS 159
8.2.1 多對象環境的改造 161
8.2.2 靜態檔案路由 162
8.2.3 處理一個新對象的Post請求 164
8.2.4 Widget索引和生成picklist 166
8.2.5 顯示單個對象並確認對象的刪除操作 168
8.2.6 提供更新信息的表達以及處理PUT請求 170
8.3 Jade模板系統 173
8.3.1 Jade語法簡介 173
8.3.2 使用block和extends模組化視圖模板 176
8.3.3 WidgetView轉換為Jade模板 178
8.3.4 轉換edit和delete表單 179
8.4 使用Stylus完成簡單的CSS樣式 182
第9章 結構化數據、Noe和Redis 187
9.1 Node和Redis 188
9.2 構建遊戲得分排行榜 190
9.3 創建訊息佇列 197
9.4 為Express應用程式添加統計中間件 201
第10章 Node和MongoDB:文檔中心數據 206
10.1 MongoDBNativeNode.jsDriver(MongoDB原生Node.js驅動) 207
10.1.1 MongoDB入門 207
10.1.2 定義、創建以及銷毀MongoDBCollection 208
10.1.3 為Collection添加數據 209
10.1.4 查詢數據 212
10.1.5 使用Updates、Upserts、Find和Remove 216
10.2 使用Mongoose實現Widget模組 221
10.3重構Widget工廠 222
10.4 添加MongoDB後台 223
第11章 Node與關係型資料庫 228
11.1 db—mysql入門 229
11.1.1 查詢字元串和方法鏈 229
11.1.2 使用查詢字元串更新資料庫 233
11.1.3 使用方法鏈更新資料庫 235
11.2 使用node—mysql實現本地MySQL訪問 237
11.2.1 使用node—mysql做基本的CRUD操作 237
11.2.2 MySQL事務與mysql—queues 239
11.3 ORM與Sequelize 241
11.3.1 定義模型 241
11.3.2 ORM風格的CRUD實現 243
11.3.3 添加多個對象 246
11.3.4 從關係型到ORM 247
第12章 圖形和HTML5Video 248
12.1 創建和使用PDF 248
12.1.1 使用子進程訪問PDF工具 249
12.1.2 使用PDFKit創建PDF 257
12.2 從子進程訪問ImageMagick 258
12.3 通過HTTP提供HTML5Video服務 263
12.4 創建和流化畫布內容(CanvasContent) 267
第13章 WebSockets和Socket.IO 271
13.1 WebSockets 271
13.2 Socket.IO簡介 272
13.2.1 一個簡單的通信範例 273
13.2.2 異步世界裡的WebSockets 276
13.2.3 關於客戶端代碼 277
13.3 配置Socket.IO 278
13.4 Chat:WebSockets版本的“Hello,World” 279
13.5 在Express中使用Socket.IO 282
第14章 ode應用程式的測試和調試 284
14.1 調試 284
14.1.1 Node.jsDebugger 284
14.1.2 使用NodeInspector的客戶端調試 287
14.2 單元測試(UnitTesting) 289
14.2.1 Assert與單元測試 289
14.2.2 Nodeunit與單元測試 293
14.2.3 其他測試框架 295
14.3 驗收測試 299
14.3.1 Soda和Selenium測試 299
14.3.2 通過Tobi和Zombie模擬瀏覽器 303
14.4 性能測試:基準問題和負載測試 304
14.4.1 ApacheBench基準測試 305
14.4.2 Nodeload與負載測試 309
14.5 Nodemon更新代碼 312
第15章 安全及防護 313
15.1 數據加密 314
15.1.1 TSL/SSL配置 314
15.1.2 使用HTTPS 315
15.1.3 如何安全的保存密碼 317
15.2 認證/授權及Passport 320
15.2.1 授權/認證策略:Oauth、OpenID、用戶名/密碼驗證 321
15.2.2 LocalPassportStrategy 323
15.2.3 TwitterPassportStrategy(OAuth) 330
15.3 保護應用程式,防止攻擊 336
15.3.1 不要使用eval 336
15.3.2 儘量使用複選框、單選按鈕和下拉式選項 337
15.3.3 使用node—validator 337
15.4 在沙箱中執行代碼 339
第16章 擴展和部署Node套用 343
16.1 把你的節點部署到伺服器上 343
16.1.1 編寫package.json檔案 344
16.1.2 使用Forever讓你的套用“永不掉線” 347
16.1.3 使用Node和Apache 350
16.1.4 改善性能 352
16.2 部署到雲服務 352
16.2.1 通過Cloud9IDE部署到WindowsAzure 353
16.2.2 JoyentDevelopmentSmartMachine 355
16.2.3 Heroku 355
16.2.4 AmazonEC2 356
16.2.5 Nodejitsu 356
附錄 Node、Git和GitHub 357

相關詞條

熱門詞條

聯絡我們