JavaScript needs a standard way to include other modules and for those modules to live in discreet namespaces. There are easy ways to do namespaces, but there’s no standard programmatic way to load a module (once!). This is really important, because server side apps can include a lot of code and will likely mix and match parts that meet those standard interfaces.

Kevin Dangoor, What Server Side JavaScript needs

伺服端的JavaScript已經行之有年,最早的成果可見於Netscape的發佈伺服端應用,而作為伺服端應用程式開發的架構與語言,JavaScript勢必需要一套完整的規範,供程式設計師彼此可以交換已經開發好的模組,所以就有了CommonJS的產生。Node.js就是在CommonJS規範下產生的伺服端JavaScript應用技術,讓開發者可以透過JavaScript來撰寫伺服端的邏輯,同時Node.js以提供了很多足以與PHP開發環境匹敵的模組,加上執行效率快,吞吐量高,非常適合用來快速建構應用程式的原型,甚或是商業應用的一部分。

安裝完node的執行環境後,使用vim建立如下腳本,命名為http_server.js:

var http = require('http');

http.createServer(function(req, res){
    console.dir(req);
    res.writeHead(200, {'Content-Type':'text/plain'});
    res.end('Hello there\n');
}).listen(1337, '127.0.0.1');

console.info('Server Starts');

在終端機提示字元下輸入:node http_server.js,腳本會在機器上建立一個http伺服器,並且監聽1337埠,使用瀏覽器瀏覽:http://127.0.0.1:1337/,可以看到伺服器回傳的Hello there字串,並且在終端視窗內看到request物件(req)的內容,比起以前用手key Servlet腳本要簡單明確許多。

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 odot 的頭像
    odot

    安德網路--值得信賴的社群專家

    鍾協良 發表在 痞客邦 留言(0) 人氣()