十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家分享的是有關如何使用node.js搭建簡單web服務器的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

準備
首先,需要安裝nodejs,這個可以去官網(wǎng)下載,目前我本地安裝的v0.12版本。
安裝完成后可以通過命令行測試安裝是否成功,輸入:node -v,應該會顯示當前安裝node版本號。
本文中用到的模塊,都是nodejs核心模塊,不需要從外部下載,如果有需要,可以使用以下命令安裝:npm install xxx。
開始
下一步,新建js文件,可以命名為server.js,代碼如下:
var http = require('http');
var url = require('url');
var path = require('path');
var fs = require('fs');
var dir, arg = process.argv[2] || ''; // 命令行第三個參數(shù),用來接收目錄,可為空,相對當前server.js文件的目錄名稱
// 比如使用命令 node server debug,意思就是debug文件夾與server.js文件同級
// 且你想以debug文件夾啟動web服務
http.createServer(function (req, res) {
var pathname = __dirname + url.parse(req.url).pathname;
dir = dir ? dir : pathname; // 記住dir(目錄)
pathname = dir ? pathname.replace(dir, dir + arg + '/') : pathname; // 替換文件靜態(tài)路徑
if (path.extname(pathname) == "") {
pathname += "/";
}
if (pathname.charAt(pathname.length - 1) == "/") {
pathname += "index.html"; // 入口文件,此處默認index.html
}
fs.exists(pathname, function (exists) {
if (exists) {
switch (path.extname(pathname)) {
case ".html":
res.writeHead(200, {"Content-Type": "text/html"});
break;
case ".js":
res.writeHead(200, {"Content-Type": "text/javascript"});
break;
case ".css":
res.writeHead(200, {"Content-Type": "text/css"});
break;
case ".gif":
res.writeHead(200, {"Content-Type": "image/gif"});
break;
case ".jpg":
res.writeHead(200, {"Content-Type": "image/jpeg"});
break;
case ".png":
res.writeHead(200, {"Content-Type": "image/png"});
break;
default:
res.writeHead(200, {"Content-Type": "application/octet-stream"});
}
// res可以自己添加信息來簡單交互 比如可以修改點header信息 或者修改返回的資源數(shù)據(jù)
fs.readFile(pathname, function (err, data) {
res.end(data);
});
}
else {
res.writeHead(404, {"Content-Type": "text/html"});
res.end("404 Not Found
");
}
});
}).listen(8085, "127.0.0.5"); // 服務器端口
console.log("server running at http://127.0.0.5:8085/");啟動
當node安裝完成及上述server.js文件也新建好之后。將其與你要訪問的文件夾放在一起,可以放同層或者直接下層。比如,如果你要訪問d:\test\debug文件夾。
你可以先將當前文件放入同層或者直接下,然后輸入如下命令啟動web服務:
先打開`cmd`,進入server文件所在目錄,比如是`test`目錄;
然后輸入:`node server debug`(同層), 或者`node server`(子層),
此時會提示`server running at http://127.0.0.5:8085/`, 表示啟動服務成功;
最后打開瀏覽器,進入:`127.0.0.5:8085`,即可訪問此資源。
最后
簡單解釋下上面的代碼。
首先最上面的require表示需要用到那幾個模塊,先引用一下;
arg表示輸入的命令行的第三個參數(shù),上面是做了手動截?。?/p>
createServer方法表示創(chuàng)建一個http服務,以函數(shù)為參數(shù),本文代碼中傳入了一個匿名函數(shù);
req,表示http request(請求)對象,其攜帶著來自客戶端此次http請求的相關信息,例如請求method、請求query參數(shù)、請求header頭信息等;
res,表示http response(返回)對象,用來給客戶端返回請求資源用,可以手動添加信息,例如返回的數(shù)據(jù)、返回的頭信息等、返回的code等;
fs,表示文件資源對象,具體可以訪問nodejs官網(wǎng)的api;
path,表示資源路徑對象,具體可以訪問nodejs官網(wǎng)的api。
listen表示創(chuàng)建的服務監(jiān)聽,一旦訪問了此端口,將進入此前的匿名函數(shù)回調(diào)中,將資源返回給客戶端。
感謝各位的閱讀!關于“如何使用node.js搭建簡單web服務器”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。