快速入門手冊(cè)
圍繞Node的話題總是會(huì)比純粹運(yùn)行在服務(wù)器端的代碼更值得花點(diǎn)時(shí)間來(lái)討論。不管怎樣,我們還是從一段代碼開始我們的話題,概覽一下NodeFileServer.js文件,觀察代碼:
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); console.log('Server running at );
首先調(diào)用了函數(shù)require(),require()是程序員最常用的函數(shù)之一。實(shí)際上,在CommonJS規(guī)范中也有提到這個(gè)函數(shù),在討論到關(guān)于JavaScript模塊概念的時(shí)候有提及,此外,Davd Flanagan在2009年的一個(gè)很酷的實(shí)現(xiàn)中也有提到。換句話說(shuō),require()對(duì)于你來(lái)說(shuō)可能是個(gè)新鮮事物,但它不是Node隨意添加的一個(gè)函數(shù),他是使用JavaScript進(jìn)行模塊化編程的核心概念,Node將這一特性發(fā)揮的淋漓盡致。
接下來(lái),http變量用以創(chuàng)建一個(gè)服務(wù)器。這個(gè)服務(wù)使用一個(gè)回調(diào)函數(shù)來(lái)處理當(dāng)產(chǎn)生一個(gè)連接時(shí)的動(dòng)作。這里的回調(diào)函數(shù)并未對(duì)請(qǐng)求作過(guò)多修飾,僅僅以text/plain格式輸出一個(gè)字符串“Hello World”作為請(qǐng)求響應(yīng)。這個(gè)邏輯非常簡(jiǎn)單。
實(shí)際上,這里展示了使用Node的標(biāo)準(zhǔn)模式:
定義交互類型,并獲得一個(gè)用以處理這個(gè)交互的變量(通過(guò)require())。 創(chuàng)建一個(gè)新的服務(wù)(通過(guò)createServer())。 給服務(wù)綁定一個(gè)回調(diào),用以處理請(qǐng)求。包括處理請(qǐng)求的函數(shù)應(yīng)當(dāng)包括一個(gè)請(qǐng)求…,以及一個(gè)響應(yīng) 通知服務(wù)器啟動(dòng)服務(wù),這里需要指定IP和端口(通過(guò)listen)。
出處:Taobao.com UED Team
責(zé)任編輯:bluehearts
上一頁(yè) 什么是Node? [5] 下一頁(yè) 什么是Node? [7]
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|