是否有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中的基本静态文件服务器


当前回答

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

python -m SimpleHTTPServer [port]

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

其他回答

您还问了为什么请求会下降-不确定具体原因是什么,但总体而言,您可以使用专用中间件(nginx、S3、CDN)更好地服务静态内容,因为Node确实没有针对这种网络模式进行优化。请参阅此处的进一步说明(项目13):http://goldbergyoni.com/checklist-best-practice-of-node-js-in-production/

看看这个链接。

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

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

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

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

连接可能是你想要的。

易于安装:

npm install connect

那么最基本的静态文件服务器可以写为:

var connect = require('connect'),
    directory = '/path/to/Folder';

connect()
    .use(connect.static(directory))
    .listen(80);

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

在NPM注册表中搜索https://npmjs.org/search?q=server,我找到了静态服务器https://github.com/maelstrom/static-server

曾经需要向同事发送文件,但不必麻烦发送电子邮件100MB的野兽?想要运行一个简单的JavaScript示例应用程序,但在文件中运行时遇到问题:///协议希望在没有设置Samba、FTP或其他需要您编辑的内容配置文件?然后这个文件服务器会让你的生活简单一点。要安装简单的静态素材服务器,请使用npm:npm安装-g静态服务器然后,要提供文件或目录,只需运行$serve路径/to/stuff在端口8001上提供路径/到/填充

这甚至可以列出文件夹内容。

很遗憾,它无法提供文件:)

对于开发工作,您可以使用(express 4)https://github.com/appsmatics/simple-httpserver.git