欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何使用node.js搭建簡單web服務(wù)器

這篇文章給大家分享的是有關(guān)如何使用node.js搭建簡單web服務(wù)器的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)于2013年成立,先為梁河等服務(wù)建站,梁河等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為梁河企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

準(zhǔn)備

首先,需要安裝nodejs,這個(gè)可以去官網(wǎng)下載,目前我本地安裝的v0.12版本。

安裝完成后可以通過命令行測試安裝是否成功,輸入:node -v,應(yīng)該會顯示當(dāng)前安裝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] || ''; // 命令行第三個(gè)參數(shù),用來接收目錄,可為空,相對當(dāng)前server.js文件的目錄名稱
 // 比如使用命令 node server debug,意思就是debug文件夾與server.js文件同級
 // 且你想以debug文件夾啟動web服務(wù)

 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"; // 入口文件,此處默認(rèn)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可以自己添加信息來簡單交互 比如可以修改點(diǎn)header信息 或者修改返回的資源數(shù)據(jù)
 fs.readFile(pathname, function (err, data) {
 res.end(data);
 });
 }
 else {
 res.writeHead(404, {"Content-Type": "text/html"});
 res.end("<h2>404 Not Found</h2>");
 }
 });
 }).listen(8085, "127.0.0.5"); // 服務(wù)器端口

 console.log("server running at http://127.0.0.5:8085/");

啟動

當(dāng)node安裝完成及上述server.js文件也新建好之后。將其與你要訪問的文件夾放在一起,可以放同層或者直接下層。比如,如果你要訪問d:\test\debug文件夾。

你可以先將當(dāng)前文件放入同層或者直接下,然后輸入如下命令啟動web服務(wù):

  1. 先打開`cmd`,進(jìn)入server文件所在目錄,比如是`test`目錄;

  2. 然后輸入:`node server debug`(同層), 或者`node server`(子層),

  3. 此時(shí)會提示`server running at http://127.0.0.5:8085/`, 表示啟動服務(wù)成功;

  4. 最后打開瀏覽器,進(jìn)入:`127.0.0.5:8085`,即可訪問此資源。

最后

簡單解釋下上面的代碼。

首先最上面的require表示需要用到那幾個(gè)模塊,先引用一下;

arg表示輸入的命令行的第三個(gè)參數(shù),上面是做了手動截取;

createServer方法表示創(chuàng)建一個(gè)http服務(wù),以函數(shù)為參數(shù),本文代碼中傳入了一個(gè)匿名函數(shù);

  1. req,表示http request(請求)對象,其攜帶著來自客戶端此次http請求的相關(guān)信息,例如請求method、請求query參數(shù)、請求header頭信息等;

  2. res,表示http response(返回)對象,用來給客戶端返回請求資源用,可以手動添加信息,例如返回的數(shù)據(jù)、返回的頭信息等、返回的code等;

  3. fs,表示文件資源對象,具體可以訪問nodejs官網(wǎng)的api;

  4. path,表示資源路徑對象,具體可以訪問nodejs官網(wǎng)的api。

listen表示創(chuàng)建的服務(wù)監(jiān)聽,一旦訪問了此端口,將進(jìn)入此前的匿名函數(shù)回調(diào)中,將資源返回給客戶端。

感謝各位的閱讀!關(guān)于“如何使用node.js搭建簡單web服務(wù)器”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

新聞名稱:如何使用node.js搭建簡單web服務(wù)器
當(dāng)前URL:http://chinadenli.net/article44/geohee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司標(biāo)簽優(yōu)化、搜索引擎優(yōu)化全網(wǎng)營銷推廣、面包屑導(dǎo)航網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)