浏览Node.js / express中的静态文件目录树

时间:2011-10-18 11:32:02

标签: node.js express

我有一个公共/目录,我已将其设置为包含express中的静态文件:

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

它有一个图像目录

/public/images

这有各种图像的深层子树。如果我放入图像的完整路径,它加载没有问题。

http://mysite.com/images/tiles/grass.png

当我转到

等网址时
http://mysite.com/images/tiles/

它只是给了我在尝试查找非静态路径时给出的错误,但该路径不存在。

如何使静态路径中的所有目录显示类似于Apache显示可导航目录结构的方式?

2 个答案:

答案 0 :(得分:25)

因为你在放

时要求的是什么
http://mysite.com/images/tiles/

是一个目录列表请求,似乎静态中间件只提供文件而不是目录。你必须使用

app.use(express.directory(your_path));
app.use(express.static(your_path));

这将允许您请求您正在谈论的URI。

答案 1 :(得分:11)

对于Express 4,这看起来有点不同:

var directory = require('serve-index');
app.use(directory(your_path));

点击此处了解详情:

https://github.com/expressjs/serve-index