使Express.js中的特定目录可浏览

时间:2012-07-16 17:44:28

标签: javascript node.js express connect

我有一个目录,其中包含一些我希望在浏览器中可以查看的图像。

此目录位于我的服务器上/ public / images

Inside / public我还有其他目录,我不想公开,因此整个/公共目录可查看不是解决方案。

如何使用connect目录中间件使我的/ public / images可浏览?

使用描述的here解决方案可以使/ public可以查看所有内容并尝试以下操作无效:

    app.use(exp.static(__dirname + '/public'));
    app.use(exp.static(__dirname + '/public/images'));
    app.use(exp.directory(__dirname + '/public/images'));

由于

2 个答案:

答案 0 :(得分:8)

您必须将路线安装到特殊路径,例如

app.use('/', exp.static(__dirname + '/public'));
app.use('/images', exp.static(__dirname + '/public/images'));
app.use('/images',exp.directory(__dirname + '/public/images'));

这样您就可以使用url /和/ public / image的内容访问/ public的内容/ url / images

答案 1 :(得分:0)

快递4:

npm install serve-index

-

var serveIndex = require('serve-index');

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