那么接下來,讓我們分析一下這個HTTP服務(wù)器的構(gòu)成。
第一行_請求(require)_Node.js自帶的?http?模塊,并且把它賦值給?http?變量。
接下來我們調(diào)用http模塊提供的函數(shù):?createServer?。這個函數(shù)會返回一個對象,這個對象有一個叫做?listen?的方法,這個方法有一個數(shù)值參數(shù),指定這個HTTP服務(wù)器監(jiān)聽的端口號。
咱們暫時先不管?http.createServer?的括號里的那個函數(shù)定義。
我們本來可以用這樣的代碼來啟動服務(wù)器并偵聽8888端口:
var http = require("http");
var server = http.createServer();
server.listen(8888);
這段代碼只會啟動一個偵聽8888端口的服務(wù)器,它不做任何別的事情,甚至連請求都不會應(yīng)答。
最有趣(而且,如果你之前習(xí)慣使用一個更加保守的語言,比如PHP,它還很奇怪)的部分是?createSever()?的第一個參數(shù),一個函數(shù)定義。
實際上,這個函數(shù)定義是?createServer()?的第一個也是唯一一個參數(shù)。因為在JavaScript中,函數(shù)和其他變量一樣都是可以被傳遞的。
更多建議: