middleware serve-index
Sirve páginas que contienen listados de directorios para una ruta dada.
Instalar
Este es un módulo de Node.js disponible a través del
registro npm. La instalación se hace usando el
comando npm install:
npm install serve-indexyarn add serve-indexpnpm add serve-indexbun add serve-indexAPI
var serveIndex = require('serve-index');serveIndex(path, options)
Devuelve un middleware que sirve un índice del directorio en la path dada.
La path se basa en el valor de req.url, así que un req.url de '/some/dir
con una path de 'public' buscará en 'public/some/dir'. Si estás usando
algo como express, puedes cambiar la URL “base” con app.use (consulta
el ejemplo de express).
Opciones
serve-index acepta estas propiedades en el objeto options.
filter
Aplica esta función de filtro a los archivos. Por defecto es false. La función filter
se llama para cada archivo, con la firma filter(filename, index, files, dir)
donde filename es el nombre del archivo, index es el índice del array, files es
el array de archivos y dir es la ruta absoluta donde se encuentra el archivo (y por tanto,
el directorio del listado).
hidden
Muestra archivos ocultos (dotfiles). Por defecto es false.
icons
Muestra iconos. Por defecto es false.
stylesheet
Ruta opcional a una hoja de estilos CSS. Por defecto usa una hoja de estilos integrada.
template
Ruta opcional a una plantilla HTML o una función que renderizará una cadena HTML. Por defecto usa una plantilla integrada.
Cuando se proporciona una cadena, la cadena se usa como ruta de archivo para cargarla y luego los siguientes tokens se reemplazan en las plantillas:
{directory}con el nombre del directorio.{files}con el HTML de una lista desordenada de enlaces a archivos.{linked-path}con el HTML de un enlace al directorio.{style}con la hoja de estilos especificada y las imágenes incrustadas.
Cuando se proporciona como función, la función se llama como template(locals, callback)
y debe invocar callback(error, htmlString). Los siguientes son los
locals proporcionados:
directoryes el directorio que se está mostrando (donde/es la raíz).displayIconses un Booleano que indica si se deben renderizar los iconos o no.fileListis a sorted array of files in the directory. The array contains objects with the following properties:namees el nombre relativo del archivo.states un objetofs.Statsdel archivo.
pathes la ruta completa del sistema de archivos aldirectory.stylees la hoja de estilos por defecto o el contenido de la opciónstylesheet.viewNamees el nombre de la vista proporcionado por la opciónview.
view
Modo de visualización. tiles y details están disponibles. Por defecto es tiles.
Ejemplos
Servir índices de directorio con un servidor http vanilla de node.js
var finalhandler = require('finalhandler');var http = require('http');var serveIndex = require('serve-index');var serveStatic = require('serve-static');
// Serve directory indexes for public/ftp folder (with icons)var index = serveIndex('public/ftp', { icons: true });
// Serve up public/ftp folder filesvar serve = serveStatic('public/ftp');
// Create servervar server = http.createServer(function onRequest(req, res) { var done = finalhandler(req, res); serve(req, res, function onNext(err) { if (err) return done(err); index(req, res, done); });});
// Listenserver.listen(3000);Servir índices de directorio con express
var express = require('express');var serveIndex = require('serve-index');
var app = express();
// Serve URLs like /ftp/thing as public/ftp/thing// The express.static serves the file contents// The serveIndex is this module serving the directoryapp.use('/ftp', express.static('public/ftp'), serveIndex('public/ftp', { icons: true }));
// Listenapp.listen(3000);Licencia
MIT. Los iconos de Silk son creados por/copyright de FAMFAMFAM.