Durchsuchen der statischen Dateiverzeichnisbaum in node.js/express
Frage
Ich habe ein öffentliches/ Verzeichnis, das ich als statische Dateien in Express eingerichtet habe:
app.use(express.static(__dirname + '/public'));
Es enthält ein Bilderverzeichnis
/public/images
Und das hat einen tiefen Teilbaum verschiedener Bilder. Wenn ich den vollständigen Weg zum Bild lege, lädt es ohne Problem.
http://mysite.com/images/tiles/grass.png
Wenn ich einfach zu einer URL gehe, z.
http://mysite.com/images/tiles/
Es gibt mir nur den Fehler, den es gibt, wenn es versucht, einen nicht statischen Weg zu finden, aber der Weg existiert nicht.
Wie kann ich es so machen, dass alle Verzeichnisse in meinem statischen Pfad etwas Ähnliches zeigen, wie Apache die navigierbare Verzeichnisstruktur zeigt?
Lösung
Denn was Sie beim Einsetzen anfordern
http://mysite.com/images/tiles/
ist eine Verzeichnisauflistungsanfrage, und es scheint, dass es scheint statisch Middleware serviert nur Dateien, keine Verzeichnisse. Sie müssen verwenden
app.use(express.directory(your_path));
app.use(express.static(your_path));
Auf diese Weise können Sie die URIs anfordern, über die Sie sprechen.
Andere Tipps
Für Express 4 sieht dies ein wenig anders aus:
var directory = require('serve-index');
app.use(directory(your_path));
Weitere Informationen finden Sie hier: