【Node.js】编码实现目录浏览服务
生活随笔
收集整理的這篇文章主要介紹了
【Node.js】编码实现目录浏览服务
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
- node.js v12.18.2
- 用 node.js 實現目錄瀏覽服務 (http-server實現,serve實現)
- 前提,已經按照好Node.js
編碼實現
找個自己喜歡的位置,創建個目錄,起名為dirService
- 因為用到了connect.static,所以需要指定版本。
另一個寫法
var http = require('http'); var st = require('st'); var port = 8000;var mount = st({path: 'static',cache: true}); http.createServer(function (req, res) {if (mount(req, res)) return; }).listen(port);console.log('server start done.'); console.log('port is ' + port);又一種寫法
var connect = require('connect'); var st = require('st'); var port = 8000;var mount = st({path: 'static',cache: true}); var app = connect().use(mount); app.listen(port);console.log('server start done.'); console.log('port is ' + port);用 express 的寫法
var express = require('express'); var st = require('st'); var port = 8000;var app = express(); var mount = st({path: 'static',cache: true}); app.use('/', mount); app.listen(port);console.log('server start done.'); console.log('port is ' + port);- 這個寫法需要安裝 express 組件 : npm install express@4.17.1 --save-dev
關于錯誤 Cannot GET /
嘗試獲取靜態資源時,使用了下面的方式:
- connect 組件的 connect.static(directory) (需要換用 connect 2.x 版本)
- serve-static 組件的 serveStatic("./")
- express 組件的 express.static(__dirname + '/public')
均在訪問時出現錯誤 Cannot GET /。
目前看 st 組件好用。
關于版本
不同的版本會有實現上的變動,比如 connect 組件在 3.0 時去掉了 connect.static()。
因此,取最新版本的組件不能保證代碼順利執行。
盡量指定組件的版本。
關于空目錄
空目錄打開異常(無響應)。
非空目錄打開正常。
參考
https://stackoverflow.com/questions/9627441/cannot-get-with-connect-on-node-js
https://stackoverflow.com/questions/16333790/node-js-quick-file-server-static-files-over-http/24575241#24575241?newreg=f45f9198b20d4fc69d86e009ee614
https://www.npmjs.com/package/st
總結
以上是生活随笔為你收集整理的【Node.js】编码实现目录浏览服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分期乐商城双11:三四线城市消费增速同比
- 下一篇: Access to script at