Node:幾個小例子
首先,你應當意識到Node是用于運行獨立的JavaScript程序的,而不是運行于瀏覽器中的某個HTML片段里。它是存放在文件系統(tǒng)中的真實存在的文件,由Node程序執(zhí)行,以一種守護進程的模式運行,同時打開對某些端口的監(jiān)聽。
跳過 hello world
最經(jīng)典的例子當然是“Hello World“,在Node官網(wǎng)(http://nodejs.org/docs/latest )上有源碼。幾乎每個人都是從Hello World開始接觸Node的,F(xiàn)在讓我們跳過這個最簡單的例子,來看一些更有趣的例子:實現(xiàn)一個可以從服務器發(fā)送文件到客戶端的程序(而不僅僅是發(fā)送一段文本到客戶端)。
var sys = require("sys"), http = require("http"), url = require("url"), path = require("path"), fs = require("fs"); http.createServer(function(request, response) { var uri = url.parse(request.url).pathname; var filename = path.join(process.cwd(), uri); path.exists(filename, function(exists) { if(!exists) { response.writeHead(404, {"Content-Type": "text/plain"}); response.end("404 Not Found\n"); return; } fs.readFile(filename, "binary", function(err, file) { if(err) { response.writeHead(500, {"Content-Type": "text/plain"}); response.end(err + "\n"); return; } response.writeHead(200); response.end(file, "binary"); }); }); }).listen(8080); console.log("Server running at http://localhost:8080/");
感謝Mike Amundsen,他給出了這段代碼的相似的實現(xiàn)。這個例子是由Devon Govett在Nettuts+上提交的一段代碼,盡管已經(jīng)根據(jù)新版本的Node作了更新,但Devon的整個帖子是一個非常好的入門學習教材,對于初學者來說更是如此。
如果你是一個新手,你可以將上述代碼保存到一個文本文件中,命名為NodeFileServer.js。在運行之前你需要一個Node運行環(huán)境,最新的Node版本可以從官網(wǎng)下載這個文件或者從github上將源碼取下來。你需要編譯源碼,如果你沒有用過Unix、對make和configure不甚熟悉,則需要查閱在線編譯手冊來尋求幫助。
出處:Taobao.com UED Team
責任編輯:bluehearts
上一頁 什么是Node? [2] 下一頁 什么是Node? [4]
◎進入論壇網(wǎng)頁制作、WEB標準化版塊參加討論,我還想發(fā)表評論。
|