dienst-Index Middleware
Serviert Seiten, die Verzeichnislisten für einen gegebenen Pfad enthalten.
Installieren
Dies ist ein Node.js Modul über die
npm Registry. Installation erfolgt mit dem
npm install Befehl:
$ npm install serve-indexAPI
var serveIndex = require('serve-index');serveIndex(Pfad, Optionen)
Gibt Middlware zurück, die einen Index des Verzeichnisses im angegebenen path enthält.
Der path basiert auf dem req.url Wert, also wird eine req.url von '/some/dir
mit einem path von 'public' auf 'public/some/dir' schauen. Wenn du
so etwas wie express verwendest, kannst du die URL "base" mit app.use` ändern (siehe
das Expressbeispiel).
Optionen
Serve-Index akzeptiert diese Eigenschaften im Options-Objekt.
filtern
Diese Filterfunktion auf Dateien anwenden. Standard ist false. Die filter Funktion
wird für jede Datei aufgerufen, mit der Signatur filter(Dateiname, Index, Dateien, dir)
wobei filename der Name der Datei ist index ist der Array-Index, files ist
das Array der Dateien und dir ist der absolute Pfad, den die Datei befindet (und somit
das Verzeichnis, für das das Angebot bestimmt ist).
hidden
Versteckte (Punkte) Dateien anzeigen. Standard ist false.
symbole
Symbole anzeigen. Standard ist false.
stylesheet
Optionaler Pfad zu einem CSS-Stylesheet. Standardmäßig ein eingebautes Stylesheet.
vorlage
Optionaler Pfad zu einer HTML-Vorlage oder einer Funktion, die einen HTML- -String darstellen wird. Standardmäßig wird eine eingebaute Vorlage verwendet.
When given a string, the string is used as a file path to load and then the following tokens are replaced in templates:
{directory}mit dem Namen des Verzeichnisses.{files}mit dem HTML einer ungeordneten Liste von Dateilinks.{linked-path}mit dem HTML eines Links zum Verzeichnis.{style}mit dem angegebenen Stylesheet und eingebetteten Bildern.
When given as a function, the function is called as template(locals, callback)
and it needs to invoke callback(error, htmlString). Folgende sind die von
angegebenen Gebietsschema:
directoryist das Verzeichnis, das angezeigt wird (wobei/der Root ist).displayIconsist ein Boolescher für ob Symbole gerendert werden sollen oder nicht.fileListist ein sortiertes Array von Dateien im Verzeichnis. Das Array enthält Objekte mit den folgenden Eigenschaften:nameist der relative Name für die Datei.statist einfs.StatsObjekt für die Datei.
pathist der vollständige Dateisystempfad zudirectory.styleist das Standardstylesheet oder der Inhalt derstylesheetOption.viewNameist der Ansichtsname, der von derviewOption angegeben wird.
anschauen
Anzeigemodus. tiles und details sind verfügbar. Standard ist tiles.
Beispiele
Verzeichnis-Indizes mit Vanilla node.js http-Server
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);Verzeichnis-Indizes mit Expresscode servieren
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);Lizenz
MIT. Die Silk Icons werden von/Copyright von [FAMFAMFAM]erstellt (http://www.famfamfam.com/).