2009年的JSCOnf大會上,一個叫Ryan Dahl的年輕程序員向人們展示了一個他正在做的項目,一個基于Google V8引擎的JavaScript運行平臺,它提供了一套事件循環(huán)和低IO的應(yīng)用程序編程接口(API)。和其他的服務(wù)端平臺不同, JavaScript天生就是事件驅(qū)動IO,而這個項目又大大降低了編寫事件驅(qū)動應(yīng)用程序的復(fù)雜度,因此它很快就以不可思議的速度的成長流行起來,并應(yīng)用到實際項目中。(Jack:這段翻譯的不太靠譜,原文:This project was not like other server-side JavaScript platforms where all the I/O primitives were event-driven and there was no way around it.)
這個項目被命名為Node.js,開發(fā)人員習(xí)慣叫它Node,Node提供了一套純事件驅(qū)動非堵塞的工具包,用來構(gòu)建高并發(fā)應(yīng)用程序。
注意:Node可以讓你簡單的構(gòu)建快速可擴展的網(wǎng)絡(luò)服務(wù)。
自從被Ryan Dahl介紹以后,Node受到了業(yè)界廣泛的關(guān)注。他們已經(jīng)開始用Node來部署快速并且可擴展的網(wǎng)絡(luò)服務(wù)。Node實在太吸引人了。
一方面因為JavaScript,JavaScript是這個星球上應(yīng)用最廣泛的編程語言,大部分Web程序員都在瀏覽器端使用過JavaScript,服務(wù)器端是它一個很自然的擴展。
另一方面因為Node嬌小可愛,Node的核心函數(shù)集很小,并且現(xiàn)有的API都非常精煉,為開發(fā)人員最小化了復(fù)雜度。當(dāng)你想構(gòu)建一些更加復(fù)雜的應(yīng)用時,你只用挑選,安裝一些你喜歡的第三方模塊就可以了。
還有一個讓Node如此吸引人的原因,它很容易上手,你可以在幾分鐘內(nèi)完成下載安裝,并運行起來.
通常按照官方網(wǎng)站(http://nodejs.org)上的步驟安裝Node就可以了,它支持Windows,Linux,Macintosh以及Solaris。
在Windows上安裝Node
Node從0.6.0版本開始支持Windows,要在Windows上安裝Node,只用從Http://nodejs.org/#download下載node-v*.msi,然后雙擊運行即可,然后你可能會遇到類似圖1-1的安全對話框。
圖1-1
單擊“運行”按鈕,等下載完畢后會出現(xiàn)另外一個安全對話框(圖1-2),提醒你是否確定操作。
圖1-2
如果你同意,Node安裝向?qū)Ь蜁霈F(xiàn)(圖1-3),點擊下一步Node就會開始安裝,等一小會兒就安裝完啦!見圖1-4
圖1-3
圖1-4
在Mac OS X下安裝
如果你使用Mac OS X,你可以使用安裝向?qū)戆惭bNode,首先,先到http://nodejs.org/#download下載node-v*.pkg,下載完以后雙擊運行,你會看到安裝向?qū)У牡谝粋€對話框,見圖1-5
圖1-5
點“繼續(xù)”安裝,然后向?qū)竽爿斎胂到y(tǒng)用戶的密碼,確定后安裝就會開始,又是一小會兒,Node又安裝好啦!見圖1-6
圖1-6
用源碼安裝
如果你使用UNIX系統(tǒng),可以通過編譯源代碼來安裝。首先,你需要選擇你要安裝的Node版本,然后下載相應(yīng)的源碼并構(gòu)建,安裝運行Node。
注意:Node依賴幾個第三方代碼庫,不過幸運的是它們大部分已經(jīng)包含在Node發(fā)布包里了,如果你從源碼開始構(gòu)建,你需要下面兩個東西:
1.python(2.4以上版本)――隨Node發(fā)布的構(gòu)建工具需要python環(huán)境來運行
2.libssl-dev ――如果你打算使用SSL/TLS加密,你需要安裝這個,libssl是openssl工具用到的類庫,在Linux和UNIX系統(tǒng)下,你通常可以用系統(tǒng)的包管理器來安裝。libssl在Mac OS X下是預(yù)安裝的,因此如果你用Mac OS X系統(tǒng)通常就不用再安裝libssl了。
選擇Node版本
官方網(wǎng)站nodejs.org上通常有兩個不同的Node版本可以下載:穩(wěn)定版和最新版。
對于Node,版本號最小位代表這個版本的穩(wěn)定性,穩(wěn)定版本使用偶數(shù)數(shù)字(如0.2,0.4,0.6),非穩(wěn)定版本使用奇數(shù)(0.1,0.3,0.5,0.7)。
非穩(wěn)定版不僅功能上不穩(wěn)定,而且API也有可能在后續(xù)版本中改變,穩(wěn)定版中已發(fā)布的API是不會修改的。對于每個穩(wěn)定分支,新的補丁不僅包含bug修復(fù),也包括非穩(wěn)定版中API的修改。
除非你想測試下最新非穩(wěn)定版中的新特性,否則你應(yīng)該選擇最新的穩(wěn)定版本。非穩(wěn)定版本對Node核心團隊來說就像用來測試新特性的戰(zhàn)場。
雖然,越來越多的項目和公司成功的在他們的產(chǎn)品中使用了Node(官網(wǎng)首頁有展示),但是你可能得學(xué)著忍受API從非穩(wěn)定版到穩(wěn)定版時發(fā)生的變化,當(dāng)然,這就是學(xué)習(xí)一門新技術(shù)的代價。
下載Node源代碼
現(xiàn)在你知道該下載哪個版本了,然后到官方網(wǎng)站http://nodejs.org找到對應(yīng)的tar包,然后復(fù)制下載鏈接,如果你使用的UNIX系統(tǒng),你的系統(tǒng)可能已經(jīng)安裝了wget,這意味著你用一句shell命令就可以下載了:
如果你沒安裝wget,你可能需要使用curl: