serveur-index middleware

Sert les pages qui contiennent des listes de répertoires pour un chemin donné.

Installer

Ceci est un module Node.js disponible via npm registry. L’installation se fait à l’aide de la commande npm install:

Terminal window
$ npm install serve-index

API

var serveIndex = require('serve-index');

serveIndex(chemin, options)

Retourne un middlware qui sert un index du répertoire dans le path donné.

Le path est basé sur la valeur req.url, donc un req.url de '/some/dir avec un path de 'public' regardera 'public/some/dir'. Si vous utilisez quelque chose comme express, vous pouvez changer l’URL “base” avec app.use (voir l’exemple expresse).

Options

Serve index accepte ces propriétés dans l’objet options.

Filtre

Appliquer cette fonction de filtre aux fichiers. false par défaut. The filter function is called for each file, with the signature filter(filename, index, files, dir) where filename is the name of the file, index is the array index, files is the array of files and dir is the absolute path the file is located (and thus, the directory the listing is for).

hidden

Afficher les fichiers cachés (points). false par défaut.

icônes

Afficher les icônes. false par défaut.

stylesheet

Chemin optionnel vers une feuille de style CSS. Par défaut, une feuille de style intégrée est utilisée.

gabarit

Chemin optionnel vers un modèle HTML ou une fonction qui affichera une chaîne HTML . Par défaut, un modèle intégré est utilisé.

Lorsqu’une chaîne de caractères est donnée, la chaîne est utilisée comme chemin de fichier à charger, puis les jetons suivants sont remplacés dans les modèles:

  • {directory} avec le nom du répertoire.
  • {files} avec le HTML d’une liste non ordonnée de liens de fichiers.
  • {linked-path} avec le HTML d’un lien vers le répertoire.
  • {style} avec la feuille de style spécifiée et des images intégrées.

Lorsqu’elle est donnée en tant que fonction, la fonction est appelée comme template(template(locals, callback) et elle doit appeler callback(error, htmlString). The following are the provided locals:

  • directory est le répertoire affiché (où / est la racine).
  • displayIcons est un booléen pour si les icônes doivent être affichées ou non.
  • fileList est un tableau trié de fichiers dans le répertoire. Le tableau contient des objets avec les propriétés suivantes :
    • name est le nom relatif du fichier.
    • stat est un objet fs.Stats pour le fichier.
  • path est le chemin complet du système de fichiers vers directory.
  • style est la feuille de style par défaut ou le contenu de l’option stylesheet.
  • viewName est le nom de la vue fourni par l’option view.
Voir

Mode d’affichage. tiles et details sont disponibles. Par défaut, tiles.

Exemples

Servir les index des répertoires avec le serveur http vanilla 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 files
var serve = serveStatic('public/ftp');
// Create server
var 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);
});
});
// Listen
server.listen(3000);

Servir les index des répertoires avec 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 directory
app.use('/ftp', express.static('public/ftp'), serveIndex('public/ftp', { icons: true }));
// Listen
app.listen(3000);

Licence

MIT. Les icônes Silk sont créées par/copyright de FAMFAMFAM.