Navegar por el árbol de directorio de archivos estáticos en node.js/express
Pregunta
Tengo un público/ directorio que he configurado como que contiene archivos estáticos en express:
app.use(express.static(__dirname + '/public'));
Tiene un directorio de imágenes en él
/public/images
Y eso tiene un subárbol profundo de varias imágenes. Si pongo el camino completo a la imagen, se carga sin problemas.
http://mysite.com/images/tiles/grass.png
Cuando solo voy a una URL como
http://mysite.com/images/tiles/
Simplemente me da el error que da cuando intenta encontrar una ruta no estática, pero la ruta no existe.
¿Cómo puedo hacerlo para que todos los directorios en mi ruta estática muestren algo similar a la forma en que Apache muestra la estructura de directorio navegable?
Solución
Porque lo que estás solicitando al poner
http://mysite.com/images/tiles/
es una solicitud de listado de directorio, y parece que estático El middleware solo sirve archivos, no directorios. Tienes que usar
app.use(express.directory(your_path));
app.use(express.static(your_path));
Esto le permitirá solicitar el URI del que está hablando.
Otros consejos
Para express 4 esto se ve un poco diferente:
var directory = require('serve-index');
app.use(directory(your_path));
Consulte aquí para obtener más detalles: