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腳本要簡單明確許多。
留言列表