#node helloworld.js
Node.js採用事件驅動、異步編程,爲網絡服務而設計
* 單線程事件模型,簡單高效
* 基於活躍的高性能V8引擎
* 社區活躍,組件豐富
上面的代碼搭建了一個簡單的http服務器,在本地監聽1337端口,對於任意的http請求,服務器都返回一個頭部狀態碼爲200、Content-Type'值爲text/plain'的”Hello World“文字響應。node.js本來就是一個http服務器,它是要與前端交互的,因此少不了兩個對象:請求(request)與響應(response),即本例子中的req和res,請求與響應顯然一種異步的東西,因爲我們不知道前端什麼時候發請求過來,響應也不能立即給前端,還要做日誌,讀寫數據庫等操作呢。因此對於javascript來說,這用回調函數來實現最好,那麼由誰來接受這個回調呢?一個服務器對象!從這個小例子中,我們可以看出幾點:
- Node.js的網絡編程比較便利,提供的模塊(在這裏是http)開放了容易上手的API接口,短短几行代碼就可以構建服務器。
- 體現了事件驅動、異步編程,在createServer函數的參數中指定了一個回調函數(採用Javascript的匿名函數實現),當有http請求發送過來時,Node.js就會調用該回調函數來處理請求並響應。當然,這個例子相對簡單,沒有太多的事件註冊,在以後的文章中讀者會看到更多的實際例子。