Node.js實戰(第2季)

Node.js實戰(第2季)

《Node.js實戰(第2季)》是2015年電子工業出版社出版的圖書,作者是吳中驊、雷宗民、趙坤、劉亞中。

基本介紹

  • 書名:Node.js實戰(第2季)
  • 作者:吳中驊、雷宗民、趙坤、劉亞中
  • ISBN:9787121271397
  • 出版社:電子工業出版社
  • 出版時間:2015-09
內容簡介,目錄,

內容簡介

本書通過7個實例分別講解了Node.js在實戰開發中的套用,這些章節既涉及Docker、Koa 等最新技術,也涉及OAuth2、命令行工具、訊息佇列、單元測試、編寫C/C++模組等實戰中經常會遇到的問題和套用場景。
本書章節大體按照從簡單到複雜的難度編排,每一章都通過一個實例指引讀者從頭開發一個Node.js套用,讓讀者循序漸進地學習Node.js,以及在實戰開發中的編程技巧。本書不但著重講解了每個實戰案例所涉及的基礎知識、思路和方法,也詳細解釋了源碼的關鍵部分,希望有利於讀者的學習和理解。 本書適合有一定Node.js基礎及伺服器端開發基礎的讀者閱讀,也適合想了解Node.js可 以做什麼、想迅速上手實踐的讀者閱讀。

目錄

第1章?通過Docker快速發布Node.js套用...............................................1
1.1 什麼是Docker..............................................................................1
1.2 Nginx作為Node.js前端Web Server的作用................................3
1.3 安裝Docker和下載Images鏡像..................................................5
1.4 Docker常用命令..........................................................................8
1.5 啟動Container盒子....................................................................10
1.6 檔案卷標載入...........................................................................11
1.7 將多個Container盒子連線起來................................................13
1.8 不要用SSH連線到你的Container盒子....................................15
1.9 配置DockerImages鏡像和發布套用........................................19
1.10 什麼是Jenkins.........................................................................26
1.11 通過Docker安裝和啟動Jenkins..............................................28
1.12 配置Jenkins並自動化部署Node.js項目.................................29
1.13 小結.........................................................................................36
1.14 參考文獻.................................................................................37
第2章?開發OAuth2認證伺服器................................................................38
2.1 本章所用到的第三方模組.......................................................38
2.2 REST風格的API.......................................................................39
2.3 定義返回數據格式...................................................................40
2.4 實現簡單的API.........................................................................41
2.4.1 擴展Response對象........................................................41
2.4.2 統一處理出錯信息.......................................................43
2.4.3 實現簡單的API.............................................................43
2.4.4 API版本.........................................................................44
2.5 關於OAuth認證.........................................................................45
2.5.1 OAuth2.0授權流程........................................................45
2.5.2 OAuth2.0授權詳解........................................................45
2.5.3 定義授權接口...............................................................48
2.6 實現OAuth認證.........................................................................48
2.6.1 OAuth2/authorize接口...................................................48
2.6.2 OAuth2/access_token接口............................................52
2.6.3 處理API請求前驗證Access Token...............................55
2.6.4 Access Token過期的問題.............................................56
2.7 實現API客戶端.........................................................................58
2.8 API傳輸過程中的安全問題.....................................................62
2.9 API請求頻率限制.....................................................................63
2.10 讓API返回結果支持不同的格式...........................................65
2.10.1 通過後綴來指定返回的數據格式.............................65
2.10.2 通過Accept請求頭來指定返回的數據格式..............67
2.11 生成隨機的測試數據..............................................................68
2.12 小結.........................................................................................69
2.13 參考文獻及開源項目.............................................................70
第3章?基於RabbitMQ搭建訊息佇列......................................................72
3.1 什麼是訊息佇列,訊息佇列的優勢.......................................72
3.2 安裝和啟動RabbitMQ..............................................................75
3.3 RabbitMQ的Hello World...........................................................76
3.4 RabbitMQ的工作佇列..............................................................80
3.5 RabbitMQ的PUB/SUB佇列......................................................84
3.6 RabbitMQ的佇列路由..............................................................89
3.7 RabbitMQ的RPC遠程過程調用...............................................94
3.8 基於RabbitMQ的Node.js和Python通信實例...........................99
3.9 RabbitMQ方案和HTTP方案的對比......................................103
3.10 小結.......................................................................................117
3.11 參考文獻................................................................................117
第4章?編寫命令行工具——打造一個靜態部落格系統......................118
4.1 本章所使用到的第三方模組.................................................119
4.2 命令格式.................................................................................120
4.2.1 常見的命令格式.........................................................121
4.2.2 定義靜態部落格命令格式.............................................121
4.3 編寫命令行工具.....................................................................122
4.4 實時預覽.................................................................................126
4.4.1 啟動Web伺服器..........................................................127
4.4.2 渲染文章頁面.............................................................128
4.4.3 文章元數據.................................................................131
4.4.4 增加模板.....................................................................132
4.4.5 渲染文章列表.............................................................136
4.5 生成靜態部落格.........................................................................140
4.6 配置檔案.................................................................................146
4.7 創建空白部落格模板.................................................................150
4.8 一些有用的第三方服務.........................................................153
4.8.1 評論組件.....................................................................153
4.8.2 分享組件.....................................................................154
4.9 小結.........................................................................................155
4.10 參考文獻...............................................................................156
第5章?基於Koa快速開發Web套用.......................................................157
5.1 ES6時代的來臨.......................................................................157
5.1.1 function 和 function*...................................................158
5.1.2 yield和yield*...............................................................160
5.1.3 co和Koa.......................................................................162
5.2 模版系統.................................................................................170
5.2.1 ejs和co-ejs...................................................................170
5.2.2 過濾器.........................................................................173
5.3 路由.........................................................................................173
5.4 參數驗證與錯誤處理.............................................................175
5.4.1 koa-scheme..................................................................175
5.4.2 koa-errorhandler...........................................................178
5.5 快取和配置.............................................................................182
5.5.1 koa-router-cache 和 co-cache......................................182
5.5.2 con?g-lite.....................................................................184
5.6 測試.........................................................................................184
5.6.1 單元測試.....................................................................184
5.6.2 co-mocha 和 co-supertest............................................185
5.7 開發一個論壇系統.................................................................189
5.7.1 基礎項目搭建.............................................................189
5.7.2 路由和功能設計.........................................................193
5.7.3 自定義模型.................................................................194
5.7.4 theme的設計................................................................200
5.7.5 註冊.............................................................................206
5.7.6 登錄與登出.................................................................213
5.7.7 主頁與版塊.................................................................216
5.7.8 用戶頁.........................................................................221
5.7.9 發表頁與話題頁.........................................................222
5.7.10 測試...........................................................................228
5.7.11 部署............................................................................231
5.8 小結.........................................................................................233
5.9 參考文獻.................................................................................233
第6章?Node.js測試服務搭建..................................................................235
6.1 概述.........................................................................................235
6.1.1 目的.............................................................................235
6.1.2 Pixbi.............................................................................236
6.2 搭建後端測試服務.................................................................238
6.2.1 單元測試.....................................................................239
6.2.2 功能性測試.................................................................259
6.2.3 可拓展性測試.............................................................260
6.3 搭建前端測試服務.................................................................261
6.3.1 PhantomJS...................................................................262
6.3.2 BrowserStack...............................................................266
6.3.3 Adobe CEP(Common Extensibility Platform).............269
6.4 加入持續集成工作流.............................................................271
6.5 小結................................................................................274
6.6 參考資料.................................................................................276
第7章?使用Node.js綁定C語言庫——51Degrees.node................277
7.1 開發背景.................................................................................277
7.2 預備知識.................................................................................279
7.2.1 51Degrees-C................................................................279
7.2.2 C/C++中的Node.js API...............................................282
7.2.3 使用nan........................................................................284
7.3 編碼.........................................................................................285
7.3.1 項目初始化.................................................................285
7.3.2 創建v8膠水層接口.....................................................286
7.3.3 創建JavaScript代碼.....................................................293
7.4 構建與發布.............................................................................294
7.4.1 node-gyp與binding.gyp...............................................294
7.4.2 發布.............................................................................296
7.5 後記.........................................................................................297

相關詞條

熱門詞條

聯絡我們