iT邦幫忙

DAY 5
9

node.js伺服器實戰系列 第 5

node.js伺服器實戰(5) - 計畫與範圍

先介紹一下,接下來要做什麼。
計畫初衷

通常從PHP這一類附屬於伺服器的程式語言入手node.js,會碰到一個問題:開發的不只是一個單純的伺服器端程式,而是一個伺服器。例如靜態檔案在撰寫php時,其實是透過伺服器在處理,根本不用管他。但是node.js只是在發生request時,丟兩個物件(ServerRequest/ServerResponse)叫你去處理。所以像node.js官網上的hello world範例:

 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 http://127.0.0.1:1337/');

不論你在url中指定什麼資源,出現的結果都是一樣的:


(不過如果來自Ruby或是Python,應該已經熟悉這些了)

所以就想自己嘗試開發一個伺服器,看看要怎麼解決這些使用上的問題。不過這裡做的只是一些嘗試跟實驗,node.js已經有很好的http伺服器framework,例如ExpressStrata等,要使用node.js做自己的網站,用這些framework還是比較方便的。尤其是Express是node.js環境中最早開發也最成熟的方案,有興趣可以先嘗試(他還包含了例如單元測試、覆蓋率測試的相關工具)。

預計範圍

之後的文章與程式,大致上會以下列主題依序進行

* 概念驗證
* 逐步改進架構設計
* 逐步加入QA
* MVC設計與實做
* 考慮開發易用性

各個部份都會有幾個嘗試。然後,一切,就從模仿通用網頁伺服器,解決與檔案系統對應開始。

(這樣做是我的私心。事實上,學習node.js不必這麼麻煩,因為已經有無數人寫好無數的套件,許多東西,只要直接拿來用就好了。)

相關文章


上一篇
node.js伺服器實戰(4) - 內建模組與http伺服器開發的必備知識
下一篇
node.js伺服器實戰(6) - 初步概念驗證
系列文
node.js伺服器實戰33

1 則留言

0
chiounan
iT邦研究生 1 級 ‧ 2011-10-16 21:54:15

沙發
期待您接下來的分享

我要留言

立即登入留言