這是一本Node.js的入門教學,寫給想要學習Node.js,但沒有任何系統的經驗的開發者。如果你聽說過 Node.js,並被它許多神奇的特性吸引,本書就是為你準備的。
透過閱讀本書,你可以對Node.js有全面的認識,學會如何用Node.js程式設計,了解事件驅動、非同步式 I/O 的程式設計模式,同時還可以了解一些使用JavaScript進行函數式程式設計的方法。
建議你親自執行書中的每一段程式。除此之外,你最好自己用Node.js做一個專案,因為透過實作你會遇到很多問題,解決這些問題可以大幅加深對Node.js的了解。
本書的每一章最後都有一個參考資料小節,裡面有很多有價值的資料,有興趣不妨繼續深入閱讀。在閱讀本書的過程中,請不要忽略附錄B,在這裡你會了解到Node.js開發的一些程式設計標準,寫出符合社區風格的漂亮程式。
本書內容
本書共6章,分別討論了 Node.js的背景、安裝和設定方法、基本特性、核心模組以及一些進階主題。除此之外,還有2個附錄,分別介紹JavaScript的進階特性和Node.js程式設計標準。下面簡要概述各章的主要內容。
第1章:Node.js 簡介
概述什麼是Node.js。讀過這章後,你將對Node.js有基本的認識,同時了解它與 JavaScript 的深厚淵源。
第2章:安裝和設定Node.js
說明如何在各種不同的環境下安裝和設定 Node.js 及其基本執行環境,同時可以了解到如何編譯Node.js,以及多版本管理工具。
第3章:Node.js 快速入門
講解Node.js的基礎知識,你將學到如何使用 Node.js 的基本環境和工具進行開發、執行和偵錯。同時,還會講解非同步式I/O與事件式程式設計的一些重要概念,這些概念將貫穿全書。此外、還詳細介紹 Node.js 的模組和套件的系統,這些都是開發中經常會碰到的內容。
第4章:Node.js 核心模組
以全域物件、基本工具、事件發射器、檔案系統和 HTTP 為代表,介紹 Node.js 最常用的核心模組。將在後面的章節及以後的開發中經常與這些模組進行處理。
第5章:使用 Node.js 進行 Web 開發
本書的實作性章節,一步步教你如何從零開始用 Express 框架建立一個網站,實現路由控制、模版解析、階段管理、資料庫存取等功能,最後建立一個 Web 2.0 微博網站。
第6章:Node.js 進階主題
幾個進階主題,包含模組載入機制、控制流分析和最佳化、生產環境的應用部署等內容,最後還討論 Node.js 適用的範圍,幫助讀者在今後的開發中作出更好的取捨。
附錄A:JavaScript 的進階特性
介紹 JavaScript 的一些進階特性,如函數作用域、閉包和物件的操作等內容。這些特性在瀏覽器端的JavaScript 開發中並沒有受到應有的重視,但在 Node.js 中卻十分常見,可以幫助你更進一步地了解並運用JavaScript進行複雜的網站開發。
附錄B:Node.js 程式設計標準
介紹Node.js 程式風格的一些約定,遵守這些約定可以讓你的程式更清晰、容易,同時也有利於介面開發的統一。該附錄還分享了一些開發經驗,可以讓程式避免很多意外錯誤和效能損失。
作者簡介
郭家寶 BYVoid
清華大學電腦系2010級本科生,曾獲得資訊學奧林匹克競賽(NOI)金牌。
他從中學開始涉足開源開發,參與過「漢典網」等許多Web專案的前後端設計開發,同時是Linux輸入法ibus-pinyin的作者。他從2009年Node.js誕生之始,就一直在關注它的發展,有許多使用Node.js建立網站的經驗,活躍于CNode社區。