當我準備開始寫我的第一個“真正的”Node.js應用的時候,我不但不知道怎么寫Node.js代碼,也不知道怎么組織這些代碼。?
我應該把所有東西都放進一個文件里嗎?網上有很多教程都會教你把所有的邏輯都放進一個用Node.js寫的基礎HTTP服務器里。但是如果我想加入更多的內容,同時還想保持代碼的可讀性呢?
實際上,只要把不同功能的代碼放入不同的模塊中,保持代碼分離還是相當簡單的。
這種方法允許你擁有一個干凈的主文件(main file),你可以用Node.js執行它;同時你可以擁有干凈的模塊,它們可以被主文件和其他的模塊調用。
那么,現在我們來創建一個用于啟動我們的應用的主文件,和一個保存著我們的HTTP服務器代碼的模塊。
在我的印象里,把主文件叫做_index.js_或多或少是個標準格式。把服務器模塊放進叫_server.js_的文件里則很好理解。
讓我們先從服務器模塊開始。在你的項目的根目錄下創建一個叫_server.js_的文件,并寫入以下代碼:
~~~
var http = require("http");
http.createServer(function(request, response) {
? response.writeHead(200, {"Content-Type": "text/plain"});
? response.write("Hello World");
? response.end();
}).listen(8888);
~~~
搞定!你剛剛完成了一個可以工作的HTTP服務器。為了證明這一點,我們來運行并且測試這段代碼。首先,用Node.js執行你的腳本:
~~~
node server.js
~~~
接下來,打開瀏覽器訪問 [http://localhost:8888/](http://localhost:8888/),你會看到一個寫著“Hello World”的網頁。
這很有趣,不是嗎?讓我們先來談談HTTP服務器的問題,把如何組織項目的事情先放一邊吧,你覺得如何?我保證之后我們會解決那個問題的。