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


当前回答

为了搜索者的利益,我喜欢Jakub g的答案,但需要一点错误处理。显然,正确处理错误是最好的,但这有助于防止站点在发生错误时停止。代码如下:

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

process.on('uncaughtException', function(err) {
  console.log(err);
});

var server = express();

server.use(express.static(__dirname));

var port = 10001;
server.listen(port, function() { 
    console.log('listening on port ' + port);     
    //var err = new Error('This error won't break the application...')
    //throw err
});

其他回答

在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

你可以使用NPM服务包来实现这一点,如果你不需要NodeJS的东西,它是一个快速易用的工具:

1-在电脑上安装软件包:

npm install -g serve

2-使用Serve<path>服务静态文件夹:

d:> serve d:\StaticSite

它将显示静态文件夹的服务端口,只需导航到主机,如下所示:

http://localhost:3000

安装npm包

npm永远安装http服务器

永远启动$(哪个http服务器)-p 8000-d false[FILE_DIRECTORY]

永远启动/usr/local/lib/node_modules/http-server/bin/http服务器-p 8000/home/web文件/

替代地,

http服务器-p 8000/home/web文件/

Node.js上的小型命令行web服务器:miptleha http

完整源代码(80行)