當(dāng)我準(zhǔn)備開始寫我的第一個(gè)“真正的”Node.js應(yīng)用的時(shí)候,我不但不知道怎么寫Node.js代碼,也不知道怎么組織這些代碼。?
我應(yīng)該把所有東西都放進(jìn)一個(gè)文件里嗎?網(wǎng)上有很多教程都會(huì)教你把所有的邏輯都放進(jìn)一個(gè)用Node.js寫的基礎(chǔ)HTTP服務(wù)器里。但是如果我想加入更多的內(nèi)容,同時(shí)還想保持代碼的可讀性呢?
實(shí)際上,只要把不同功能的代碼放入不同的模塊中,保持代碼分離還是相當(dāng)簡(jiǎn)單的。
這種方法允許你擁有一個(gè)干凈的主文件(main file),你可以用Node.js執(zhí)行它;同時(shí)你可以擁有干凈的模塊,它們可以被主文件和其他的模塊調(diào)用。
那么,現(xiàn)在我們來創(chuàng)建一個(gè)用于啟動(dòng)我們的應(yīng)用的主文件,和一個(gè)保存著我們的HTTP服務(wù)器代碼的模塊。
在我的印象里,把主文件叫做_index.js_或多或少是個(gè)標(biāo)準(zhǔn)格式。把服務(wù)器模塊放進(jìn)叫_server.js_的文件里則很好理解。
讓我們先從服務(wù)器模塊開始。在你的項(xiàng)目的根目錄下創(chuàng)建一個(gè)叫_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);
搞定!你剛剛完成了一個(gè)可以工作的HTTP服務(wù)器。為了證明這一點(diǎn),我們來運(yùn)行并且測(cè)試這段代碼。首先,用Node.js執(zhí)行你的腳本:
node server.js
接下來,打開瀏覽器訪問 http://localhost:8888/,你會(huì)看到一個(gè)寫著“Hello World”的網(wǎng)頁。
這很有趣,不是嗎?讓我們先來談?wù)凥TTP服務(wù)器的問題,把如何組織項(xiàng)目的事情先放一邊吧,你覺得如何?我保證之后我們會(huì)解決那個(gè)問題的。
更多建議: