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

