通讀本書(shū),你將會(huì)學(xué)到 Node.js 的很多東西,但如果想完全掌握它,我建議你親自嘗試運(yùn)行本書(shū)中的每一段代碼。除此之外,你最好自己用 Node.js 做一個(gè)項(xiàng)目,因?yàn)橥ㄟ^(guò)實(shí)踐你會(huì)遇到很多問(wèn)題,解決這些問(wèn)題可以大大加深對(duì) Node.js 的理解。
本書(shū)是一本 Node.js 的入門(mén)教程,寫(xiě)給想了解 Node.js 的開(kāi)發(fā)人員。我的目標(biāo)是使讀者通過(guò)閱讀本書(shū),學(xué)會(huì)使用 Node.js 進(jìn)行 Web 后端開(kāi)發(fā),同時(shí)能熟悉事件驅(qū)動(dòng)的異步式編程風(fēng)格,以便進(jìn)一步了解 Node.js 的許多高級(jí)特性,以及它所應(yīng)用的更多領(lǐng)域。
本書(shū)共6章,分別討論了 Node.js 的背景、安裝和配置方法、基本特性、核心模塊以及一些進(jìn)階話題。除此之外,還有2個(gè)附錄,分別介紹了JavaScript 的高級(jí)特性和 Node.js 編程規(guī)范。下面簡(jiǎn)要概述各章的主要內(nèi)容。
章節(jié)目錄:
第1 章“Node.js 簡(jiǎn)介”
這一章概述了什么是Node.js。讀過(guò)這章后,你將對(duì) Node.js 有一個(gè)基本的認(rèn)識(shí),同時(shí)了解它與 JavaScript 的深厚淵源。
第2 章“安裝和配置Node.js”
這一章講述了如何在各種不同的環(huán)境下安裝和配置 Node.js 及其基本運(yùn)行環(huán)境,同時(shí)你你可以了解到如何編譯Node.js,以及多版本管理工具。
第3 章“Node.js 快速入門(mén)”
這一章講解Node.js 的基礎(chǔ)知識(shí),你將會(huì)學(xué)到如何使用 Node.js 的基本環(huán)境和工具進(jìn)行開(kāi)發(fā)、運(yùn)行和調(diào)試。同時(shí),還會(huì)講解異步式I/O與事件式編程的一些重要概念,這些概念將會(huì)貫穿全書(shū)。
此外這一章還詳細(xì)介紹了 Node.js 的模塊和包的系統(tǒng),這些都是開(kāi)發(fā)中經(jīng)常會(huì)碰到的內(nèi)容。
第4 章“Node.js 核心模塊”
這一章以全局對(duì)象、基本工具、事件發(fā)射器、文件系統(tǒng)和 HTTP 為代表,介紹了 Node.js 最常用的核心模塊。你將會(huì)在后面的章節(jié)及以后的開(kāi)發(fā)中經(jīng)常與這些模塊打交道。
第5 章“使用 Node.js 進(jìn)行 Web 開(kāi)發(fā)”
這一章是本書(shū)的實(shí)踐性章節(jié),一步一步教你如何從零開(kāi)始用 Express 框架創(chuàng)建一個(gè)網(wǎng)站,實(shí)現(xiàn)路由控制、模板解析、會(huì)話管理、數(shù)據(jù)庫(kù)訪問(wèn)等功能,最終創(chuàng)建一個(gè) Web 2.0 微博網(wǎng)站。
第6 章“Node.js 進(jìn)階話題”
這一章涉及幾個(gè)進(jìn)階話題,包括模塊加載機(jī)制、控制流分析和優(yōu)化、生產(chǎn)環(huán)境的應(yīng)用部署等內(nèi)容,最后還討論了 Node.js 適用的范圍,幫助讀者在今后的開(kāi)發(fā)中作出更好的取舍。
附錄A“JavaScript 的高級(jí)特性”
這個(gè)附錄介紹了 JavaScript 的一些高級(jí)特性,如函數(shù)作用域、閉包和對(duì)象的操作等內(nèi)容。
這些特性在瀏覽器端的JavaScript 開(kāi)發(fā)中并沒(méi)有受到應(yīng)有的重視,而在 Node.js 中卻十分常見(jiàn),閱讀這個(gè)附錄可以幫助你更好地理解并運(yùn)用 JavaScript 進(jìn)行復(fù)雜的網(wǎng)站開(kāi)發(fā)。
附錄B“Node.js 編程規(guī)范”
這個(gè)附錄介紹了 Node.js 代碼風(fēng)格的一些約定,遵守這些約定可以讓你的代碼更清晰、易懂,同時(shí)也有利于接口開(kāi)發(fā)的統(tǒng)一。該附錄還分享了一些開(kāi)發(fā)經(jīng)驗(yàn),可以讓程序避免很多意外錯(cuò)誤和性能損失。
誰(shuí)應(yīng)該閱讀本書(shū)
本書(shū)的目標(biāo)讀者是想要學(xué)習(xí) Node.js ,但沒(méi)有任何系統(tǒng)的經(jīng)驗(yàn)的開(kāi)發(fā)者。如果你聽(tīng)說(shuō)過(guò) Node.js,并被它許多神奇的特性吸引,那么這本書(shū)就是為你準(zhǔn)備的。通過(guò)閱讀本書(shū),你可以對(duì) Node.js 有全面的認(rèn)識(shí),學(xué)會(huì)如何用 Node.js 編程,了解事件驅(qū)動(dòng)、異步式 I/O 的編程模式,同時(shí)還可以掌握一些使用 JavaScript 進(jìn)行函數(shù)式編程的方法。
本書(shū)假設(shè)讀者已經(jīng)學(xué)過(guò)至少一門(mén)編程語(yǔ)言,對(duì)基本的程序設(shè)計(jì)語(yǔ)言概念(如變量、函數(shù)、遞歸、對(duì)象)有所了解。如果你是首次學(xué)習(xí)編程語(yǔ)言,我建議你先學(xué)一門(mén)常見(jiàn)的且容易入門(mén)的語(yǔ)言,如 Java 或 C 。