騰訊Web前端工程師全面揭秘原生Node.js的開(kāi)發(fā)實(shí)踐,不借助任何第三方框架,通過(guò)編寫(xiě)原生代碼,講解Node.js應用開(kāi)發(fā)
深入詳解Node.js原生文檔,根據原生API實(shí)踐和大量應用實(shí)例,詳細分析Node.js的開(kāi)發(fā)過(guò)程,了解原生Node.js的API應用
全面涵蓋Node.js基礎知識、模塊與NPM、Web應用、UDP服務(wù)、異步編程思想、異常處理過(guò)程、操作數據庫的方法、框架開(kāi)發(fā)與應用、開(kāi)發(fā)工具等
注重實(shí)踐,講解時(shí)穿插了430多個(gè)代碼小示例,提供了30多個(gè)編程實(shí)踐練習題及解答,還介紹了5個(gè)大型系統的開(kāi)發(fā),并贈送8小時(shí)教學(xué)視頻(需下載)
黃丹華,騰訊公司W(wǎng)eb前端工程師。專(zhuān)注于PHP與Node.js的開(kāi)發(fā)與應用。較早時(shí)間就開(kāi)始關(guān)注Node.js的發(fā)展,并系統地學(xué)習和研究了國內外大量的Node.js學(xué)習資料。獨創(chuàng )Mywebl.0的Node.js框架,目前正在開(kāi)發(fā)Myweb2.0的Node.js框架。自營(yíng)china Node.js微信公眾賬號,通過(guò)公眾賬號給國內外Node.js愛(ài)好者提供一個(gè)學(xué)習交流的平臺。個(gè)人技術(shù)博客中提供的Node.js入門(mén)、資源分享和Nde.js異常分析等優(yōu)秀文章,被眾多的Node.js愛(ài)好者所認可。
第1章 Node.js基礎知識
1.1 概述
1.1.1 Node.js是什么
1.1.2 Node.js帶來(lái)了什么
1.2 Node.js配置開(kāi)發(fā)
1.2.1 Windows配置
1.2.2 Linux配置
1.2.3 HelloWorld
1.2.4 常見(jiàn)問(wèn)題
1.3 異步編程
1.3.1 同步調用和異步調用
1.3.2 回調和異步調用
1.3.3 獲取異步函數的執行結果
1.4 本章實(shí)踐
1.5 本章小結
第2章 模塊和NPM
2.1 什么是模塊
2.1.1 模塊的概念
2.1.2 Node.js如何處理模塊
2.1.3 Node.js實(shí)現Web解析DNS
2.1.4 Node.js重構DNS解析網(wǎng)站
2.1.5 exports和module.eXports
2.2 NPM簡(jiǎn)介
2.2.1 NPM和配置
2.2.2 Express框架
2.2.3 jade模板
2.2.4 forever模塊
2.2.5 socket.io模塊
2.2.6 request模塊
2.2.7 Formidable模塊
2.2.8 NPM模塊開(kāi)發(fā)指南
2.3 Node.js設計模式
2.3.1 模塊與類(lèi)
2.3.2 Node.js中的繼承
2.3.3 單例模式
2.3.4 適配器模式
2.3.5 裝飾模式
2.3.6 工廠(chǎng)模式
2.4 本章實(shí)踐
2.5 本章小結
第3章 Node.js的Web應用
3.1 HTTP服務(wù)器
3.1.1 簡(jiǎn)單的HTTP服務(wù)器
3.1.2 路由處理
3.1.3 GET和POST
3.1.4 GET方法實(shí)例
3.1.5 POST方法實(shí)例
3.1.6 HTTP和HTTPS模塊介紹
3.2 Node.js靜態(tài)資源管理
3.2.1 為什么需要靜態(tài)資源管理
3.2.2 Node.js實(shí)現簡(jiǎn)單靜態(tài)資源管理
3.2.3 靜態(tài)資源庫設計
3.2.4 靜態(tài)文件的緩存控制
3.3 文件處理
3.3.1 FileSystem模塊介紹
3.3.2 圖片和文件上傳
3.3.3 jade模板實(shí)現圖片上傳展示功能
3.3.4 上傳圖片存在的問(wèn)題
3.3.5 文件讀寫(xiě)
3.4 Cookie和Session
3.4.1 Cookie和Session
3.4.2 Session模塊實(shí)現
3.4.3 Session模塊的應用
3.5 Crypto模塊加密
3.5.1 Crypto介紹
3.5.2 Web數據密碼的安全
3.5.3 簡(jiǎn)單加密模塊設計
3.6 Node.js+INginx
3.6.1 Nginx概述
3.6.2 Nginx的配置安裝
3.6.3 如何構建
3.7 文字直播實(shí)例
3.7.1 系統分析
3.7.2 重要模塊介紹
3.8 擴展閱讀
3.9 本章實(shí)踐
3.10 本章小結
第4章 Node.js高級編程
4.1 構建UDP服務(wù)器
4.1.1 UDP 模塊概述
4.1.2 UDP Server構建
4.2 UDP服務(wù)器應用
4.2.1 應用分析介紹
4.2.2 UDP Server端(圖片處理服務(wù)器)實(shí)現
4.2.3 UDP Client端(Web Server)
4.2.4 Jade頁(yè)面實(shí)現
4.2.5 應用體驗
4.3 Node.js與PHP合作
4.3.1 UDP方式
4.3.2 腳本執行
4.3.3 HTTP方式
4.3.4 三種方式的比較
4.4 本章實(shí)踐
4.5 本章小結
第5章 深入Node.js
5.1 Node.js的相關(guān)實(shí)現機制
5.2 Node.js原生擴展
5.2.1 Node.js擴展開(kāi)發(fā)基礎V8
5.2.2 Node.js插件開(kāi)發(fā)介紹
5.3 Node.js異步擴展開(kāi)發(fā)與應用
5.4 本章實(shí)踐
5.5 本章小結
第6章 Node.js編碼習慣
6.1 Node.js規范
6.1.1 變量和函數命名規范
6.1.2 模塊編寫(xiě)規范
6.1.3 注釋
6.2 Node.js異步編程規范
6.2.1 Node.js的異步實(shí)現
6.2.2 異步函數的調用
6.2.3 Node.js異步回調深度
6.2.4 解決異步編程帶來(lái)的麻煩
6.3 異常邏輯的處理
6.3.1 require模塊對象不存在異常
6.3.2 對象中不存在方法或者屬性時(shí)的異常
6.3.3 異步執行的for循環(huán)異常
6.3.4 利用異常處理辦法優(yōu)化路由
6.3.5 異常情況匯總
6.4 本章實(shí)踐
6.5 本章小結
第7章 Node.js與數據庫
7.1 兩種數據庫介紹
7.1.1 MySQL介紹
7.1.2 MongoDB模塊介紹
7.2 Node.js與MySQL
7.2.1 MySQL安裝配置應用
7.2.2 MySQL數據庫接口設計
7.2.3 數據庫連接
7.2.4 數據庫插入數據
7.2.5 查詢(xún)一條數據記錄
7.2.6 修改數據庫記錄
7.2.7 刪除數據庫記錄
7.2.8 數據條件查詢(xún)
7.3 Node.js與MongoDB
7.3.1 MongoDB的安裝以及工具介紹
7.3.2 MongOD的啟動(dòng)運行方法
7.3.3 MongoDB的啟動(dòng)運行
7.3.4 MongoDB數據庫接口設計
7.3.5 數據插入
7.3.6 數據修改
7.3.7 查詢(xún)一條數據
7.3.8 刪除數據
7.3.9 查詢(xún)數據
7.4 MySQL與MongoDB性能
7.4.1 測試工具及測試邏輯
7.4.2 MySQL性能測試代碼
7.4.3 MongoDB性能測試代碼
7.4.4 性能測試數據分析
7.5 本章實(shí)踐
7.6 本章小結
第8章 MyWeb框架介紹
8.1 MyWeb框架介紹
8.1.1 MyWeb框架涉及的應用
8.1.2 MyWeb框架應用模塊
8.2 MyWeb源碼架構
8.2.1 框架MVC設計圖
8.2.2 框架文件結構
8.2.3 擴展閱讀之更快地了解新項目
8.3 框架源碼分析
8.3.1 框架入口文件模塊
8.3.2 路由處理模塊
8.3.3 Model層基類(lèi)
8.3.4 Controller層基類(lèi)
8.4 本章實(shí)踐
8.5 本章小結
第9章 框架應用MyChat
9.1 編碼前的準備
9.1.1 應用分析
9.1.2 應用模塊
9.1.3 功能模塊設計
9.2 系統的編碼開(kāi)發(fā)
9.2.1 Model層
9.2.2 Controller層
9.2.3 View層
9.3 項目總結
9.3.1 forever啟動(dòng)運行項目
9.3.2 系統應用體驗
9.3.3 系統開(kāi)發(fā)總結
9.4 擴展閱讀之MyWeb 2.0的介紹
9.5 本章實(shí)踐
9.6 本章小結
第10章 Node.js實(shí)例應用
10.1 實(shí)時(shí)聊天對話(huà)
10.1.1 系統設計
10.1.2 系統的模塊設計
10.1.3 系統編碼實(shí)現
10.2 聯(lián)網(wǎng)中國象棋游戲
10.2.1 系統設計
10.2.2 系統的模塊設計
10.2.3 系統編碼實(shí)現
10.2.4 系統體驗
10.3 本章小結
第11章 Node.js實(shí)用工具
11.1 日志模塊工具
11.1.1 日志模塊介紹
11.1.2 日志模塊實(shí)現
11.1.3 日志模塊應用
11.2 配置文件讀取模塊
11.2.1 配置文件解析模塊介紹
11.2.2 配置文件解析模塊實(shí)現
11.3 curl模塊
11.3.1 curl模塊介紹
11.3.2 curl模塊實(shí)現
11.3.3 curl模塊應用
11.4 crontab模塊
11.4.1 crontab模塊介紹
11.4.2 crontab模塊設計實(shí)現
11.4.3 crontab模塊應用
11.5 forever運行腳本
11.5.1 forever運行腳本介紹
11.5.2 forever運行腳本實(shí)現
11.5.3 forever運行腳本應用
11.6 xml模塊的應用
11.6.1 xml解析模塊介紹
11.6.2 xml模塊設計實(shí)現
11.6.3 xml模塊應用
11.7 郵件發(fā)送模塊應用
11.7.1 郵件模塊介紹
11.7.2 郵件模塊設計實(shí)現
11.7.3 郵件模塊應用
11.8 本章小結