Navigation arborescence de fichiers statiques dans Node.js / express
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?
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: