是否有Node.js即用工具(与npm一起安装),可以帮助我通过HTTP将文件夹内容作为文件服务器公开。

例如,如果我有

D:\Folder\file.zip
D:\Folder\file2.html
D:\Folder\folder\file-in-folder.jpg

然后从D:\Folder\node node-file-server.js开始我可以通过

http://hostname/file.zip
http://hostname/file2.html
http://hostname/folder/file-in-folder.jpg

为什么我的节点静态文件服务器丢弃请求?参考一些神秘的

标准node.js静态文件服务器

如果没有这样的工具,我应该使用什么框架?

相关:NodeJS中的基本静态文件服务器


当前回答

一个好的“现成工具”选项可以是http服务器:

npm install http-server -g

要使用它:

cd D:\Folder
http-server

或者,像这样:

http-server D:\Folder

过来看:https://github.com/nodeapps/http-server

其他回答

我知道它不是Node,但我使用了Python的SimpleHTTPServer:

python -m SimpleHTTPServer [port]

它运行良好,并与Python一起提供。

还有一个非常好的静态web服务器:浏览器同步。

可以使用节点包管理器下载:

npm install -g browser-sync

安装后,在cmd提示符下导航到项目文件夹,然后运行以下命令:

browser-sync start --server --port 3001 --files="./*"

它将开始处理浏览器中当前文件夹中的所有文件。

更多信息请访问BrowserSync

谢谢

使用connect的简单静态服务器

var connect = require('connect'),
  directory = __dirname,
  port = 3000;

connect()
  .use(connect.logger('dev'))
  .use(connect.static(directory))
  .listen(port);

console.log('Listening on port ' + port);

另请参见将node.js用作简单的web服务器

看看这个链接。

您只需安装node js的express模块即可。

var express = require('express');
var app = express();

app.use('/Folder', express.static(__dirname + '/Folder'));

您可以像这样访问文件http://hostname/Folder/file.zip

我在工作和个人项目中使用休斯顿,这对我来说很好。

https://github.com/alejandro/Houston