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


当前回答

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

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

npm install -g serve

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

d:> serve d:\StaticSite

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

http://localhost:3000

其他回答

如果您使用Express框架,此功能随时可用。

要设置简单的文件服务应用程序,只需执行以下操作:

mkdir yourapp
cd yourapp
npm install express
node_modules/express/bin/express

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

完整源代码(80行)

连接可能是你想要的。

易于安装:

npm install connect

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

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

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

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

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

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

npm install -g browser-sync

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

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

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

更多信息请访问BrowserSync

谢谢

NPM上还没有,但我在Express上构建了一个简单的静态服务器,它还允许您接受表单提交,并通过事务电子邮件服务(现在是Sendgrid,Mandrill即将到来)发送电子邮件。

https://github.com/jdr0dn3y/nodejs-StatServe