1. 程式人生 > >用nodeJS搭建本地檔案伺服器

用nodeJS搭建本地檔案伺服器

轉自:https://www.jb51.net/article/108566.htm

搭建nodejs伺服器步驟:

1.安裝nodejs服務,node相當於apache伺服器

2.在自己定義的目錄下新建伺服器檔案如 server.js 

例如,我在E:\PhpProject\HTML5\websocket下建立了server.js檔案

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

var http = require('http');//引入http模組

 

//開啟服務,監聽8888埠

//埠號最好為6000以上

var server = http.createServer(function(req,res){

  /*

    req用來接受客戶端資料

    res用來向客戶端傳送伺服器資料

  */

 

  console.log('有客戶端連線');//建立連線成功顯示在後臺

 

  //一參是http請求狀態,200連線成功

  //連線成功後向客戶端寫入頭資訊

  

res.writeHeader(200,{

    'content-type' : 'text/html;charset="utf-8"'

  });

 

  res.write('這是正文部分');//顯示給客戶端

  res.end();

 

}).listen(8888);

 

console.log('伺服器開啟成功');

3.在cmd控制檯中cd切換進server.js所在的目錄,然後執行node server.js命令 

當控制檯顯示”伺服器開啟成功”則說明node伺服器已經建立

4.在瀏覽器中訪問伺服器 

在瀏覽器中輸入 

localhost:8888 , 瀏覽器顯示“這是正文部分”。 

檢視cmd控制檯,顯示 “有客戶端連線” 

可在多個瀏覽器視窗中進行以上操作,每個瀏覽器視窗均會對應一次“有客戶端連線”

以上步驟完成,node服務搭建完畢。下面是如何通過搭建的node服務訪問本地站點的 text/html文字檔案

訪問本地站點檔案

1.在自定義的目錄下建立node服務檔案server2.js

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

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){

  /*

    一參為檔案路徑

    二參為回撥函式

      回撥函式的一參為讀取錯誤返回的資訊,返回空就沒有錯誤

      二參為讀取成功返回的文字內容

  */

    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.建立index.html檔案

如果要訪問index.html檔案,當然你得先有這個檔案,不然伺服器讀取失敗,返回404

3.在cmd控制檯cd切換到 server2.js的目錄下執行node server2.js命令 

開啟伺服器

4.在瀏覽器輸入localhost:8888/index.html訪問 該檔案

如果電腦沒有安裝nodejs的同學可以先到node官方下載並安裝好node程式。

安裝好nodejs後驗證一下是否安裝成功!如果出現則表明node已經承裝安裝上去了!

安裝好node之後開啟cmd 輸入 npm install anywhere -g  安裝anywhere ,然後等待直到出現以下介面。

以上兩個步驟都就緒以後,萬事俱備,只欠東風啦!在cmd頁面 找到你想搭建伺服器的路徑,然後再當前路徑下輸入: anywhere 8860

然後瀏覽器就自動開啟本地訪問網址,一個簡單的node伺服器就這樣被我們搭建好啦!

END

注意事項

  • anywhere 建議安裝全域性的
  • node 建議用32位的,64位目前相容性沒有32位好

 如果我們直接開啟html檔案他是以file:///方式開啟的,但這種方式有時會遇到跨域的問題:“cross-origin”,所以我們需要搭建一個簡易的本地伺服器,Nodejs就可以滿足我們這個需求:

比如我的本地伺服器js檔案就是這樣的(我把這個server.js放在了Nodejs安裝目錄下):

?

1

2

3

4

5

6

7

var connect = require("connect");

var serveStatic = require("serve-static");

 

var app = connect();

app.use(serveStatic("C:\\xxx\\xxx\\xxx\\專案資料夾"));

 

app.listen(5000);

執行的話只要執行:node server.js 就可以了

正常執行後我們就可以在瀏覽器輸入localhost:5000來訪問專案資料夾內的檔案了。(如果是index.html檔案可以省略不寫,預設載入的就是這個檔案)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援指令碼之家