第1章 Node.js:啟動與運行
1.1 搭建Node開發環境
1.1.1 Linux(Ubuntu)下安裝Node
1.1.2 Windows 7平臺下Node+WebMatrix
1.1.3 升級Node
1.2 開始Node開發
1.2.1 Hello, World in Node
1.2.2 分析“Hello,World”
1.3 異步函數及Node事件循環
1.3.1 使用異步方式讀取文件
1.3.2 觀察異步程序流程
1.4 Node的優勢
第2章 Node與REPL
2.1 REPL:先睹為快和未定義的表達式 第1章 Node.js:啟動與運行
1.1 搭建Node開發環境
1.1.1 Linux(Ubuntu)下安裝Node
1.1.2 Windows 7平臺下Node+WebMatrix
1.1.3 升級Node
1.2 開始Node開發
1.2.1 Hello, World in Node
1.2.2 分析“Hello,World”
1.3 異步函數及Node事件循環
1.3.1 使用異步方式讀取文件
1.3.2 觀察異步程序流程
1.4 Node的優勢
第2章 Node與REPL
2.1 REPL:先睹為快和未定義的表達式
2.2 REPL的優勢:更好地理解表層之下的JavaScript
2.3 多行以及更復雜的JavaScript
2.3.1 REPL命令
2.3.2 REPL和rlwrap
2.3.3 定制REPL
2.4 不可預計的意外——記得經常保存
第3章 Node核心庫
3.1 全局對象:global、process和Buffer
3.1.1 global
3.1.2 process
3.1.3 Buffer
3.2 定時器:setTimeout、clearTimeout、setInterval 和clearInterval
3.3 Servers、Streams和Sockets
3.3.1 TCP Sockets和Servers
3.3.2 HTTP
3.3.3 UDP數據報套接字
3.3.4 流、管道和Readline
3.4 子進程
3.4.1 child_process.spawn
3.4.2 child_process.exec和child_process.execFile
3.4.3 child_process.fork
3.4.4 在Windows系統中使用子進程
3.5 域名解析和URL處理
3.6 Utilities模塊和對象繼承
3.7 Events和EventEmitter
第4章 Node模塊系統
4.1 使用require和默認路徑加載模塊
4.2 外部模塊和Node包管理工具
4.3 如何找到你需要的模塊
4.3.1 Colors:簡單至上
4.3.2 Optimist:另一個簡單的小模塊
4.3.3 Underscore
4.4 創建自定義模塊
4.4.1 打包整個目錄
4.4.2 為你的模塊發布做準備
4.4.3 發布模塊
第5章 控制流、異步模式和異常處理
5.1 使用Callback而不使用Promises
5.2 順序調用、嵌套回調、異常捕獲
5.3 異步模式和控制流模塊
5.3.1 Step
5.3.2 Async
5.4 Node編碼風格
第6章 路由尋址、服務文件和中間件
6.1 從頭開始:創建一個簡單的靜態文件服務器
6.2 中間件
6.2.1 Connect基本知識
6.2.2 Connect中間件
6.2.3 定制Connect中間件
6.3 Routers
6.4 Proxies
第7章 Express框架
7.1 Express:啟動和運行
7.2 app.js文件
7.3 錯誤處理
7.4 Express與Connect的關系
7.5 路由
7.5.1 路由路徑
7.5.2 路由和HTTP動詞
7.6 關于MVC
7.7 使用cURL測試Express應用程序
第8章 Express、模板系統和CSS
8.1 EJS模板系統(Embedded JavaScript Template System)
8.1.1 基本語法
8.1.2 Node與EJS
8.1.3 EJS與Node Filters
8.2 在Express中使用EJS
8.2.1 多對象環境的改造
8.2.2 靜態文件路由
8.2.3 處理一個新對象的Post請求
8.2.4 Widget索引和生成picklist
8.2.5 顯示單個對象并確認對象的刪除操作
8.2.6 提供更新信息的表達以及處理PUT請求
8.3 Jade模板系統
8.3.1 Jade語法簡介
8.3.2 使用block和extends模塊化視圖模板
8.3.3 Widget View轉換為Jade模板
8.3.4 轉換edit和delete表單
8.4 使用Stylus完成簡單的CSS樣式
第9章 結構化數據、Noe和Redis
9.1 Node和Redis
9.2 構建游戲得分排行榜
9.3 創建消息隊列
9.4 為Express應用程序添加統計中間件
第10章 Node和MongoDB:文檔中心數據
10.1 MongoDB Native Node.js Driver(MongoDB原生Node.js驅動)
10.1.1 MongoDB入門
10.1.2 定義、創建以及銷毀MongoDB Collection
10.1.3 為Collection添加數據
10.1.4 查詢數據
10.1.5 使用Updates、Upserts、Find和Remove
10.2 使用Mongoose實現Widget模塊
10.3 重構Widget工廠
10.4 添加MongoDB后臺
第11章 Node與關系型數據庫
11.1 db-mysql入門
11.1.1 查詢字符串和方法鏈
11.1.2 使用查詢字符串更新數據庫
11.1.3 使用方法鏈更新數據庫
11.2 使用node-mysql實現本地MySQL訪問
11.2.1 使用node-mysql做基本的CRUD操作
11.2.2 MySQL事務與mysql-queues
11.3 ORM與Sequelize
11.3.1 定義模型
11.3.2 ORM風格的CRUD實現
11.3.3 添加多個對象
11.3.4 從關系型到ORM
第12章 圖形和HTML5 Video
12.1 創建和使用PDF
12.1.1 使用子進程訪問PDF工具
12.1.2 使用PDFKit創建PDF
12.2 從子進程訪問ImageMagick
12.3 通過HTTP提供HTML5 Video服務
12.4 創建和流化畫布內容(Canvas Content)
第13章 WebSockets和Socket.IO
13.1 WebSockets
13.2 Socket.IO簡介
13.2.1 一個簡單的通信范例
13.2.2 異步世界里的WebSockets
13.2.3 關于客戶端代碼
13.3 配置Socket.IO
13.4 Chat:WebSockets版本的“Hello, World”
13.5 在Express中使用Socket.IO
第14章 Node應用程序的測試和調試
14.1 調試
14.1.1 Node.js Debugger
14.1.2 使用Node Inspector的客戶端調試
14.2 單元測試(Unit Testing)
14.2.1 Assert與單元測試
14.2.2 Nodeunit與單元測試
14.2.3 其他測試框架
14.3 驗收測試
14.3.1 Soda和Selenium測試
14.3.2 通過Tobi和Zombie模擬瀏覽器
14.4 性能測試:基準問題和負載測試
14.4.1 ApacheBench基準測試
14.4.2 Nodeload與負載測試
14.5 Nodemon更新代碼
第15章 安全及防護
15.1 數據加密
15.1.1 TSL/SSL配置
15.1.2 使用HTTPS
15.1.3 如何安全的保存密碼
15.2 認證/授權及Passport
15.2.1 授權/認證策略:Oauth、OpenID、用戶名/密碼驗證
15.2.2 Local Passport Strategy
15.2.3 Twitter Passport Strategy(OAuth)
15.3 保護應用程序,防止攻擊
15.3.1 不要使用eval
15.3.2 盡量使用復選框、單選按鈕和下拉式選項
15.3.3 使用node-validator
15.4 在沙箱中執行代碼
第16章 擴展和部署Node應用
16.1 把你的節點部署到服務器上
16.1.1 編寫package.json文件
16.1.2 使用Forever讓你的應用“永不掉線”
16.1.3 使用Node和Apache
16.1.4 改善性能
16.2 部署到云服務
16.2.1 通過Cloud9 IDE部署到Windows Azure
16.2.2 Joyent Development SmartMachine
16.2.3 Heroku
16.2.4 Amazon EC2
16.2.5 Nodejitsu
附錄 Node、Git和GitHub
顯示全部信息