Просмотр дерева каталогов статических файлов в Node.js / express - PullRequest
14 голосов
/ 18 октября 2011

У меня есть каталог public /, который я настроил как содержащий статические файлы в экспрессе:

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

В нем есть каталог изображений

/public/images

И это имеет глубокое поддерево различных изображений. Если я добавлю полный путь к изображению, оно загрузится без проблем.

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

Когда я просто захожу на URL, например

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

Это просто дает мне ошибку, которую он выдает, когда пытается найти нестатический путь, но путь не существует.

Как я могу сделать так, чтобы все каталоги в моем статическом пути показывали что-то похожее на то, как Apache отображает структуру навигации?

Ответы [ 2 ]

26 голосов
/ 18 октября 2011

Поскольку то, что вы запрашиваете при вводе

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

, является запросом списка каталогов, и кажется, что static middleware просто обслуживает файлы, а не каталоги.Вы должны использовать

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

Это позволит вам запросить URI, о которых вы говорите.

11 голосов
/ 12 мая 2014

Для Express 4 это выглядит немного иначе:

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

Проверьте здесь для деталей:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...