用nodeJS搭建本地文件服務(wù)器的幾種方法小結(jié)
搭建nodejs服務(wù)器步驟:
1.安裝nodejs服務(wù),node相當(dāng)于apache服務(wù)器
2.在自己定義的目錄下新建服務(wù)器文件如 server.js
例如,我在E:\PhpProject\HTML5\websocket下創(chuàng)建了server.js文件
var http = require('http');//引入http模塊 //開(kāi)啟服務(wù),監(jiān)聽(tīng)8888端口 //端口號(hào)最好為6000以上 var server = http.createServer(function(req,res){ /* req用來(lái)接受客戶端數(shù)據(jù) res用來(lái)向客戶端發(fā)送服務(wù)器數(shù)據(jù) */ console.log('有客戶端連接');//創(chuàng)建連接成功顯示在后臺(tái) //一參是http請(qǐng)求狀態(tài),200連接成功 //連接成功后向客戶端寫入頭信息 res.writeHeader(200,{ 'content-type' : 'text/html;charset="utf-8"' }); res.write('這是正文部分');//顯示給客戶端 res.end(); }).listen(8888); console.log('服務(wù)器開(kāi)啟成功');
3.在cmd控制臺(tái)中cd切換進(jìn)server.js所在的目錄,然后執(zhí)行node server.js命令
當(dāng)控制臺(tái)顯示”服務(wù)器開(kāi)啟成功”則說(shuō)明node服務(wù)器已經(jīng)建立
4.在瀏覽器中訪問(wèn)服務(wù)器
在瀏覽器中輸入
localhost:8888 , 瀏覽器顯示“這是正文部分”。
查看cmd控制臺(tái),顯示 “有客戶端連接”
可在多個(gè)瀏覽器窗口中進(jìn)行以上操作,每個(gè)瀏覽器窗口均會(huì)對(duì)應(yīng)一次“有客戶端連接”
以上步驟完成,node服務(wù)搭建完畢。下面是如何通過(guò)搭建的node服務(wù)訪問(wèn)本地站點(diǎn)的 text/html文本文件
訪問(wèn)本地站點(diǎn)文件
1.在自定義的目錄下創(chuàng)建node服務(wù)文件server2.js
var http = require('http'); var fs = require('fs');//引入文件讀取模塊 var documentRoot = 'E:/PhpProject/html5/websocket/www'; //需要訪問(wèn)的文件的存放目錄 var server= http.createServer(function(req,res){ var url = req.url; //客戶端輸入的url,例如如果輸入localhost:8888/index.html //那么這里的url == /index.html var file = documentRoot + url; console.log(url); //E:/PhpProject/html5/websocket/www/index.html fs.readFile( file , function(err,data){ /* 一參為文件路徑 二參為回調(diào)函數(shù) 回調(diào)函數(shù)的一參為讀取錯(cuò)誤返回的信息,返回空就沒(méi)有錯(cuò)誤 二參為讀取成功返回的文本內(nèi)容 */ if(err){ res.writeHeader(404,{ 'content-type' : 'text/html;charset="utf-8"' }); res.write('<h1>404錯(cuò)誤</h1><p>你要找的頁(yè)面不存在</p>'); res.end(); }else{ res.writeHeader(200,{ 'content-type' : 'text/html;charset="utf-8"' }); res.write(data);//將index.html顯示在客戶端 res.end(); } }); }).listen(8888); console.log('服務(wù)器開(kāi)啟成功');
2.創(chuàng)建index.html文件
如果要訪問(wèn)index.html文件,當(dāng)然你得先有這個(gè)文件,不然服務(wù)器讀取失敗,返回404
3.在cmd控制臺(tái)cd切換到 server2.js的目錄下執(zhí)行node server2.js命令
開(kāi)啟服務(wù)器
4.在瀏覽器輸入localhost:8888/index.html訪問(wèn) 該文件
如果電腦沒(méi)有安裝nodejs的同學(xué)可以先到node官方下載并安裝好node程序。
安裝好nodejs后驗(yàn)證一下是否安裝成功!如果出現(xiàn)則表明node已經(jīng)承裝安裝上去了!
安裝好node之后打開(kāi)cmd 輸入 npm install anywhere -g 安裝anywhere ,然后等待直到出現(xiàn)以下界面。
以上兩個(gè)步驟都就緒以后,萬(wàn)事俱備,只欠東風(fēng)啦!在cmd頁(yè)面 找到你想搭建服務(wù)器的路徑,然后再當(dāng)前路徑下輸入: anywhere 8860
然后瀏覽器就自動(dòng)打開(kāi)本地訪問(wèn)網(wǎng)址,一個(gè)簡(jiǎn)單的node服務(wù)器就這樣被我們搭建好啦!
END
注意事項(xiàng)
- anywhere 建議安裝全局的
- node 建議用32位的,64位目前兼容性沒(méi)有32位好
如果我們直接打開(kāi)html文件他是以file:///方式打開(kāi)的,但這種方式有時(shí)會(huì)遇到跨域的問(wèn)題:“cross-origin”,所以我們需要搭建一個(gè)簡(jiǎn)易的本地服務(wù)器,Nodejs就可以滿足我們這個(gè)需求:
比如我的本地服務(wù)器js文件就是這樣的(我把這個(gè)server.js放在了Nodejs安裝目錄下):
var connect = require("connect"); var serveStatic = require("serve-static"); var app = connect(); app.use(serveStatic("C:\\xxx\\xxx\\xxx\\項(xiàng)目文件夾")); app.listen(5000);
運(yùn)行的話只要執(zhí)行:node server.js 就可以了
正常運(yùn)行后我們就可以在瀏覽器輸入localhost:5000來(lái)訪問(wèn)項(xiàng)目文件夾內(nèi)的文件了。(如果是index.html文件可以省略不寫,默認(rèn)加載的就是這個(gè)文件)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Node.js視頻流應(yīng)用創(chuàng)建之后端的全過(guò)程
這篇文章主要給大家介紹了關(guān)于創(chuàng)建Node.js視頻流應(yīng)用之后端的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03nodejs的http和https下載遠(yuǎn)程資源post數(shù)據(jù)實(shí)例
這篇文章主要為大家介紹了nodejs的http和https下載遠(yuǎn)程資源post數(shù)據(jù)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09nodeJS實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)爬蟲(chóng)功能的實(shí)例(分享)
下面小編就為大家?guī)?lái)一篇nodeJS實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)爬蟲(chóng)功能的實(shí)例(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06node.js使用stream模塊實(shí)現(xiàn)自定義流示例
這篇文章主要介紹了node.js使用stream模塊實(shí)現(xiàn)自定義流,結(jié)合實(shí)例形式詳細(xì)分析了node.js基于stream模塊實(shí)現(xiàn)自定義的可讀流、可寫流、可讀寫流等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02