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

Rob*_*ohr 14 node.js express

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

app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)

它有一个图像目录

/public/images
Run Code Online (Sandbox Code Playgroud)

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

http://mysite.com/images/tiles/grass.png
Run Code Online (Sandbox Code Playgroud)

当我只是去一个网址,如

http://mysite.com/images/tiles/
Run Code Online (Sandbox Code Playgroud)

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

我怎样才能使静态路径中的所有目录显示类似于Apache显示可导航目录结构的方式?

eri*_*red 26

因为你在推杆时要求的是什么

http://mysite.com/images/tiles/
Run Code Online (Sandbox Code Playgroud)

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

app.use(express.directory(your_path));
app.use(express.static(your_path));
Run Code Online (Sandbox Code Playgroud)

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

  • 如果您希望在给定路径时使用index.html文件,请在express.directory之前放置express.static.Static将加载索引文件,以便在文件存在时不会发生目录浏览. (4认同)

Jan*_*old 11

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

var directory = require('serve-index');
app.use(directory(your_path));
Run Code Online (Sandbox Code Playgroud)

点击此处了解详情:

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