Question

J'ai un répertoire public / que j'ai mis en place comme contenant des fichiers statiques express:

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

Il en elle a un répertoire d'images

/public/images

Et qui a une sous-arborescence profonde de diverses images. Si je mets le chemin complet à l'image, il charge sans problème.

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

Quand je viens d'aller à une URL comme

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

Il me donne juste l'erreur qu'il donne quand il essaie de trouver un chemin non-statique, mais le chemin n'existe pas.

Comment puis-je faire si tous les répertoires dans mon chemin statique montrent quelque chose de similaire à la façon dont Apache montre la structure du répertoire navigable?

Était-ce utile?

La solution

Parce que ce que vous demandez lors de la mise

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

est une demande de liste de répertoire, et il semble que statique middleware sert uniquement des fichiers non répertoires. Vous devez utiliser

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

Cela vous permettra de demander les URIs dont vous parlez.

Autres conseils

Pour Express 4 ceci semble un peu différent:

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

Vérifiez ici pour les détails:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top