Node.js入門之神秘的服務(wù)器端JavaScript
第一次看到這個(gè)名字,是我在報(bào)名淘寶的知識(shí)分享時(shí)看到的,我很興奮也很好奇這樣的一個(gè)JS框架。而你看到這個(gè)名字的第一個(gè)反應(yīng)會(huì)是什么,是否和我一樣的簡(jiǎn)單的以為它就是一個(gè)JS框架?反正我是這么認(rèn)為了。如果你也是,哈哈,看來(lái)也是和我一樣單純。
在去聽分享前,我特意google了相關(guān)資料來(lái)了解,不禁使我嚇一大跳,或許是我剛出校園,視野太窄,遠(yuǎn)沒(méi)有想過(guò)JS腳本從可以從客戶端的瀏覽器轉(zhuǎn)移到了 服務(wù)器上。當(dāng)然,我不是很明白,這樣做達(dá)到了一個(gè)什么樣的好處。
簡(jiǎn)單地說(shuō),NodeJS是一個(gè)使用了Google高性能V8 引擎 的服務(wù)器端JavaScript實(shí)現(xiàn)。它提供了一個(gè)(幾乎)完全非阻塞I/O棧,與JavaScript提供的閉包和匿名函數(shù)相結(jié)合,使之成為編寫高吞吐 量網(wǎng)絡(luò)服務(wù)程序的優(yōu)秀平臺(tái)。
特點(diǎn):
◆ 單線程事件模型,簡(jiǎn)單高效
◆ 基于活躍的高性能V8引擎
◆ 社區(qū)活躍,組件豐富
或許,這一大炮又讓前端開發(fā)人員又掀起一陣高浪。 在聽完淘寶之后的分享,以及之后在網(wǎng)上相關(guān)的準(zhǔn)備的查詢,我才知識(shí),NodeJS正在稍無(wú)聲息的壯大起了了,一群活躍的開發(fā)人員,正在喂養(yǎng)這個(gè)出世不久的 孩子,這或許將是繼日本海嘯的后浪。
NodeJS 安裝(安裝環(huán)境ubuntu10.04):
1、先從官網(wǎng)上(http://nodejs.org/)下載源碼,這邊我所下的是 node-v0.4.3.tar.gz 版本的包。
Js代碼
- $ tar -zxvf node-v0.4.2.tar.gz
- $ cd node-v0.4.2
2、接下來(lái)進(jìn)行安裝
Js代碼
- $ ./configure
- $ make
- $ sudo make install
3、安裝npm(NodeJS Package Manager NodeJS的包管理器)
相關(guān)介紹文章:http://howtonode.org/introduction-to-npm
安裝命令為:
(注意出錯(cuò)時(shí)請(qǐng)檢查是不是以root用戶進(jìn)行安裝)
Js代碼
- curl http://npmjs.org/install.sh | sh
4、 配置環(huán)境變量,在這里,我所安裝的路徑為~$ cd /var/iapps/nodejs/
Js代碼
- sudo export PATH=$PATH:/var/iapps/nodejs/bin
查看是否安裝成功:
Js代碼
- sammor@sammor-desktop:~$ cd /
- sammor@sammor-desktop:/$ node --version
- v0.4.2
如此便成功安裝了NodeJS
NodeJS ——Hello,World!
準(zhǔn)備腳本:
Java代碼
- //helloworld.js
- var sys = require("sys"),
- http = require("http");
- http.createServer(function(req, res) {
- setTimeout(function () {
- res.writeHeader(200, {"Content-Type": "text/plain"});
- res.write("Hello,World!");
- res.finish();
- }, 2000);
- }).listen(8000);
- sys.puts("Server running at http://localhost:8000/");
執(zhí)行腳本:
Js代碼
- root@sammor-desktop:/var/iapps/nodejs/work# node helloworld.js
- Server running at http://localhost:8000/
這時(shí)瀏覽器上訪問(wèn) http://localhost:8000/
就可以在頁(yè)面上看到期待的效果:
Js代碼
- Hello,World!
這就是NodeJS的Hello,World! 神奇吧。
問(wèn)題 :
在這里,我只想起個(gè)引子,讓大家更多的知道這個(gè)東西。因?yàn)槲矣X(jué)得,這或許對(duì)于前端來(lái)說(shuō)是一個(gè)很大的驚喜,但對(duì)于不善于前端的我來(lái)說(shuō)了開始疑惑了,也許很多人也一樣在想著,這樣的東西,適用于什么樣的場(chǎng)景下?相對(duì)于傳統(tǒng)的服務(wù)端方式來(lái)說(shuō),它又有什么優(yōu)勢(shì)呢?
原文:http://www.iteye.com/topic/968660
【編輯推薦】