Просмотр статического дерева каталогов файлов в node.js/express
Вопрос
У меня есть публичный/ каталог, который я настроил в качестве статических файлов в Express:
app.use(express.static(__dirname + '/public'));
В нем есть каталог изображений
/public/images
И это имеет глубокую поддеревание различных изображений. Если я помесчу полный путь к изображению, он загружается без проблем.
http://mysite.com/images/tiles/grass.png
Когда я просто иду на URL, такой как
http://mysite.com/images/tiles/
Это просто дает мне ошибку, которую он дает, когда он пытается найти нестатический путь, но путь не существует.
Как я могу сделать так, чтобы все каталоги в моем статическом пути показали что -то похожее на то, как Apache показывает структуру судоходства?
Решение
Потому что то, что вы запрашиваете, когда ставите
http://mysite.com/images/tiles/
является запросом на список каталогов, и кажется, что статический Промежуточное программное обеспечение обслуживает файлы, а не каталоги. Вы должны использовать
app.use(express.directory(your_path));
app.use(express.static(your_path));
Это позволит вам запросить URI, о которых вы говорите.
Другие советы
Для Express 4 это выглядит немного по -другому:
var directory = require('serve-index');
app.use(directory(your_path));
Проверьте здесь для получения подробной информации: