本書旨在成為Node.js領域*全面、*系統和*實戰性的一本書,2014年4月機械工業出版社出版的書籍,作者陸凌牛
基本介紹
- 中文名:Node.js權威指南
- 作者:陸凌牛
- 出版時間:2014年4月
- 出版社:機械工業出版社
- ISBN:9787111460787
- 類別:圖書>計算機/網路>程式設計>其他
- 定價:89.00 元
- 開本:16 開
- 裝幀:簡裝
內容簡介,圖書目錄,作者簡介,
內容簡介
全書共16章,分三個部分:*部分(第1~12章)從Node.js的特性、優勢、適用場景、安裝配置到各個模組的功能作用,再到開發的具體方法和技巧,非常詳盡地講解了Node.js開發者必備的各種基礎知識;第二部分(第13~15章)介紹了在使用Node.js進行開發時極有可能用到的第三方開發包,探討了如何在Node.js應用程式中使用關係型資料庫及NoSQL型資料庫,如何使用Express框架開發Web應用程式,以及如何使用Socket.IO類庫實現WebSocket通信等;第三部分(第16章)講解了兩個綜合案例,如何結合使用Node.js與Socket.IO類庫製作一個聊天室應用程式的伺服器端及客戶端,以及如何結合使用Node.js與Express框架製作一個Web應用程式的伺服器端及客戶端。
圖書目錄
前言
第1章 Node js介紹
1 1 Node js概述
1 1 1 使用Node js能夠解決什麼問題
1 1 2 實現高性能伺服器
1 1 3 非阻塞型IO及事件環機制
1 1 4 Node js適合開發的應用程式
1 2 安裝Node js
1 3 Node js中的模組 4
1 4 一個簡單的示例應用程式
1 5 小結
第2章 Node js中的互動式運行環境——REPL
2 1 REPL運行環境概述
2 2 在REPL運行環境中操作變數
2 3 在REPL運行環境中使用下劃線字元
2 4 在REPL運行環境中直接運行函式
2 5 在REPL運行環境中定義並啟動伺服器
2 6 REPL運行環境中的上下文對象
2 7 REPL運行環境中的基礎命令
2 8 小結
第3章 Node js基礎知識
3 1 Node js中的控制台
3 1 1 console log方法
3 1 2 console error方法
3 1 3 console dir方法
3 1 4 console time方法與console timeEnd方法
3 1 5 console trace方法
3 1 6 console assert方法
3 2 Node js中的全局作用域及全局函式
3 2 1 Node js中的全局作用域
3 2 2 setTimeout函式與clearTimeout函式
3 2 3 setInterval函式與clearInterval函式
3 2 4 定時器對象的unref方法與ref方法
3 2 5 與模組相關的全局函式及對象
3 3 __filename變數與__dirname變數
3 3 1 __filename變數
3 3 2 __dirname變數
3 4 事件處理機制及事件環機制
3 4 1 EventEmitter類
3 4 2 EventEmitter類的各個方法
3 4 3 獲取指定事件的事件處理函式的數量
3 4 4 EventEmitter類自身所擁有的事件
3 4 5 事件環機制
3 5 在Node js中使用調試器
3 5 1 在命令行視窗中使用調試器
3 5 2 觀察變數值或表達式的執行結果
3 5 3 設定與取消斷點
3 5 4 調試器中可以使用的其他實用命令
3 5 5 使用node-inspector調試工具
3 6 小結
第4章 模組與npm包管理工具
4 1 核心模組與檔案模組
4 2 從模組外部訪問模組內的成員
4 2 1 使用exports對象
4 2 2 將模組定義為類
4 2 3 為模組類定義類變數或類函式
4 3 組織與管理模組
4 3 1 從node_modules目錄中載入模組
4 3 2 使用目錄來管理模組
4 3 3 從全局目錄中載入模組
4 4 模組對象的屬性
4 5 包與npm包管理工具
4 5 1 Node js中的包
4 5 2 npm包管理工具
4 6 小結
第5章 使用Buffer類處理二進制數據
5 1 創建Buffer對象
5 2 字元串的長度與快取區的長度
5 3 Buffer對象與字元串對象之間的相互轉換
5 3 1 Buffer對象的toString方法
5 3 2 Buffer對象的write方法
5 3 3 StringDecoder對象
5 4 Buffer對象與數值對象之間的相互轉換
5 5 Buffer對象與JSON對象之間的相互轉換
5 6 複製快取數據
5 7 Buffer類的類方法
5 7 1 isBuffer方法
5 7 2 byteLength方法
5 7 3 concat方法
5 7 4 isEncoding方法
5 8 小結
第6章 在Node js中操作檔案系統
6 1 同步方法與異步方法
6 2 對檔案執行讀寫操作
6 2 1 檔案的完整讀寫
6 2 2 從指定位置處開始讀寫檔案
6 3 創建與讀取目錄
6 3 1 創建目錄
6 3 2 讀取目錄
6 4 查看與修改檔案或目錄的信息
6 4 1 查看檔案或目錄的信息
6 4 2 檢查檔案或目錄是否存在
6 4 3 獲取檔案或目錄的絕對路徑
6 4 4 修改檔案訪問時間及修改時間
6 4 5 修改檔案或目錄的讀寫許可權
6 5 可以對檔案或目錄執行的其他操作
6 5 1 移動檔案或目錄
6 5 2 創建與刪除檔案的硬連結
6 5 3 創建與查看符號連結
6 5 4 截斷檔案
6 5 5 刪除空目錄
6 5 6 監視檔案或目錄
6 6 使用檔案流
6 6 1 流的基本概念
6 6 2 使用ReadStream對象讀取檔案
6 6 3 使用WriteStream對象寫入檔案
6 7 對路徑進行操作
6 8 小結
?第7章 實現基於TCP與UDP的數據通信
7 1 使用net模組實現基於TCP的數據通信
7 1 1 創建TCP伺服器
7 1 2 socket連線埠對象
7 1 3 創建TCP客戶端
7 1 4 net模組中的類方法
7 2 使用dgram模組實現基於UDP的數據通信
7 2 1 創建UDP伺服器與客戶端
7 2 2 實現廣播與組播
7 3 小結
第8章 創建HTTP與HTTPS伺服器及客戶端
8 1 HTTP伺服器
8 1 1 創建HTTP伺服器
8 1 2 獲取客戶端請求信息
8 1 3 轉換URL字元串與查詢字元串
8 1 4 傳送伺服器端回響流
8 2 HTTP客戶端
8 2 1 向其他網站請求數據
8 2 2 向本地伺服器請求數據
8 2 3 製作代理伺服器
8 3 創建HTTPS伺服器與客戶端
8 3 1 創建HTTPS伺服器
8 3 2 創建HTTPS客戶端
8 4 小結
第9章 進程與子進程
9 1 Node js中的進程
9 1 1 進程對象的屬性
9 1 2 進程對象的方法與事件
9 2 創建多進程應用程式
9 2 1 使用spawn方法開啟子進程
9 2 2 使用fork方法開啟子進程
9 2 3 使用exec方法開啟子進程
9 2 4 使用execFile方法開啟子進程
9 3 在多個子進程中運行Node js應用程式
9 3 1 使用fork方法創建worker對象
9 3 2 worker對象的方法與事件
9 4 小結
第10章 Node js中的錯誤處理與斷言處理
10 1 使用domain模組處理錯誤
10 1 1 domain模組概述
10 1 2 創建並使用Domain對象
10 1 3 隱式綁定與顯式綁定
10 1 4 綁定回調函式與攔截回調函式
10 1 5 domain堆疊的彈出與推入
10 1 6 Domain對象的銷毀
10 2 Node js中的斷言處理
10 2 1 equal方法與notEqual方法
10 2 2 strictEqual方法與notStrictEqual方法
10 2 3 assert方法與ok方法
10 2 4 deepEqual方法與notDeepEqual方法
10 2 5 throws方法與doesNotThrow方法
10 3 小結
第11章 加密與壓縮
11 1 加密與解密處理
11 1 1 crypto模組概述
11 1 2 散列算法
11 1 3 HMAC算法
11 1 4 公鑰加密
11 2 壓縮與解壓縮處理
11 2 1 創建各種用於壓縮及解壓縮的對象
11 2 2 zlib模組中的各種方法
11 3 小結
第12章 Node js中的其他模組
12 1 使用dns模組解析域名
12 1 1 使用resolve方法將域名解析為DNS記錄
12 1 2 使用lookup方法查詢IP位址
12 1 3 使用reverse方法反向解析IP位址
12 1 4 dns模組中的各種錯誤代碼
12 2 使用punycode模組轉換punycode編碼
12 3 使用os模組獲取作業系統信息
12 4 使用readline模組逐行讀取流數據
12 4 1 創建 Interface對象
12 4 2 Interface對象所擁有的各種方法與事件
12 5 使用util模組中提供的一些實用方法
12 6 使用vm模組改變腳本運行環境
12 6 1 在獨立環境中運行JavaScript代碼
12 6 2 創建並使用Script對象
12 7 自定義REPL運行環境
12 8 小結
第13章 資料庫訪問
13 1 在MongoDB資料庫中存取數據
13 1 1 MongoDB概述
13 1 2 安裝MongoDB資料庫
13 1 3 安裝MongoDB包
13 1 4 連線MongoDB資料庫
13 1 5 在MongoDB資料庫中插入數據
13 1 6 在MongoDB資料庫中查詢數據
13 1 7 在MongoDB資料庫中更新與刪除數據
13 1 8 使用Mongoose類庫
13 2 在MySQL資料庫中存取數據
13 2 1 建立連線與關閉連線
13 2 2 執行數據的基本處理
13 2 3 執行存儲過程
13 2 4 執行多表結合查詢
13 2 5 以數據流的方式處理查詢數據
13 2 6 創建連線池
13 3 小結
第14章 使用Express構建Web應用程式
14 1 Express概述
14 1 1 安裝Express
14 1 2 使用Express開發一個簡單的示例應用程式
14 2 設定路由
14 3 使用各種提交數據或請求數據的方法
14 3 1 使用post方法接收客戶端提交的POST請求
14 3 2 使用put方法接收客戶端提交的PUT請求
14 3 3 使用delete方法接收客戶端提交的DELETE請求
14 3 4 使用all方法接收客戶端提交的各種請求
14 4 中間件
14 4 1 中間件概述
14 4 2 Express框架中內置的中間件
14 4 3 basicAuth中間件
14 4 4 bodyParser中間件
14 4 5 cookieParser中間件
14 4 6 logger中間件
14 4 7 methodOverride中間件
14 4 8 responseTime中間件
14 4 9 router中間件
14 4 10 session中間件
14 4 11 static中間件
14 4 12 directory中間件
14 4 13 Express 3中的異常處理機制
14 4 14 limit中間件函式
14 4 15 配置應用程式
14 5 模板引擎
14 5 1 模板引擎概述
14 5 2 Jade模板引擎的使用方法
14 5 3 EJS模板引擎的使用方法
14 6 小結
第15章 使用Socket IO類庫實現WebSocket通信
15 1 Socket IO概述
15 2 Socket IO的使用方法
15 3 在Express框架中使用Socket IO
15 4 在伺服器端保存用戶數據
15 5 廣播訊息
15 6 使用命名空間
15 7 小結
第16章 綜合案例介紹
16 1 創建簡單聊天室應用程式
16 1 1 案例概述
16 1 2 頁面顯示效果
16 1 3 HTML頁面代碼及CSS樣式代碼
16 1 4 JavaScript腳本代碼部分
16 1 5 伺服器端代碼
16 2 創建Web應用程式
16 2 1 案例概述
16 2 2 頁面展示效果
16 2 3 訂單檢索頁面
16 2 4 訂單編輯頁面
16 3 小結
作者簡介
陸凌牛 資深Web開發工程師、軟體開發工程師和系統設計師。從事Web開發多年,對各種常見的Web開發技術(包括前端和後端)都有非常深入的研究,經驗極其豐富。JavaScript、HTML 5和CSS 3等新技術的先驅者和布道者,對這3種技術以及這3種技術下的主流框架都有非常深刻的認識,並且付諸了大量實踐。同時,他還擅長微軟與Java的相關技術,在C#、VB.NET、ASP.NET、SQL Server、Oracle、Java、Struts、Spring、Hibernate等方面也積累了大量實戰經驗。此外,他還是一位頗有影響力的技術作家,著有多本著作:
《HMTL 5與CSS 3權威指南》這是他的處女作,憑藉優質的內容獲得了讀者的廣泛好評,被讀者譽為“系統學習HTML 5與CSS 3的*選擇”和“Web前端工程師案頭必備圖書之一”,如今已經出至第2版。
《HTML 5開發精要與案例詳解》不僅在內容上延續了前一本書的精彩,而且同樣也取得了非常好的口碑和銷量。
《Sencha Touch權威指南》國內第一本關於Sencha Touch的專著,定位與本書相同,出版後得到了該領域讀者的認可。