使用node 做靜態文件服務器


# 1. 使用server-static 包 

使用node可以非常快速的方法把指定目錄共享出去

前提條件:安裝了node,附帶有npm

要托管的文件目錄為 /root/www

# 先創建一個目錄用來存放腳本和依賴包
$mkdir nodeser && cd nodeser
# 初始化項目,一路按enter使用默認值
$npm init
# 安裝connect 包和 serve-static 包
$npm install connect  --save
$npm install serve-static  --save

 然后編輯服務腳本ser.js

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

var app = connect();
app.use(serveStatic("/root/www"));

app.listen(5000);

  

在當前目錄執行 node ser.js

然后可以在瀏覽器上訪問5000  來請求靜態資源 

 

 

 

# 2. 使用http-server 0配置實現一個 ftp server 

1. mkdir ftpdir && cd ftpdir 創建項目目錄 

2. 先執行npm init 初始化一個項目,會生成 package.json

```

npm init 

```

3. 安裝http-server 包

```

npm install http-server
npm WARN prefer global http-server@0.11.1 should be installed with -g
nodeser@1.0.0 /home/builder/nodeser
└─┬ http-server@0.11.1
├── colors@1.0.3
├── corser@2.0.1
├─┬ ecstatic@3.3.2
│ ├── he@1.2.0
│ └── url-join@2.0.5
├── opener@1.4.3
├─┬ optimist@0.6.1
│ ├── minimist@0.0.10
│ └── wordwrap@0.0.3
├─┬ portfinder@1.0.24
│ └── async@1.5.2
└─┬ union@0.4.6
└── qs@2.3.3

```

4. 編輯package.json ,修改啟動方式

```

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "http-server -p 5000"
},

```

這里的 script 其實是提供給 npm 調用的,例如 當執行npm start 的時候就會調用 start 里的內容  

所以也是可以直接執行 `http-server -p 5000` 啟動,另外還有一些參數可以參考 

```

Available Options:

-p Port to use (defaults to 8080)

-a Address to use (defaults to 0.0.0.0)

-d Show directory listings (defaults to 'True')

-i Display autoIndex (defaults to 'True')

-g or --gzip When enabled (defaults to 'False') it will serve ./public/some-file.js.gz in place of ./public/some-file.js when a gzipped version of the file exists and the request accepts gzip encoding.

-e or --ext Default file extension if none supplied (defaults to 'html')

-s or --silent Suppress log messages from output

--cors Enable CORS via the Access-Control-Allow-Origin header

-o Open browser window after starting the server

-c Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1.

-U or --utc Use UTC time format in log messages.

-P or --proxy Proxies all requests which can't be resolved locally to the given url. e.g.: -P http://someurl.com

-S or --ssl Enable https.

-C or --cert Path to ssl cert file (default: cert.pem).

-K or --key Path to ssl key file (default: key.pem).

-r or --robots Provide a /robots.txt (whose content defaults to 'User-agent: *\nDisallow: /')

-h or --help Print this list and exit.

```

5. 啟動

```

npm start 

> nodeser@1.0.0 start 
> http-server -p 5000

Starting up http-server, serving ./
Available on:
http://127.0.0.1:5000
http://192.168.4.5:5000
http://192.168.4.41:5000

```

當然還可以使用 `http-server -p 5000` 直接啟動

 

6.效果

 

 如果是文件夾可以點進去,如果是文件則直接打開,非常方便

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM