serve-favicon Middleware

Node.js Middleware für die Bedienung einer Favicon.

A favicon is a visual cue that client software, like browsers, use to identify a site. Für ein Beispiel und weitere Informationen besuchen Sie bitte den Wikipedia-Artikel über Favicons.

Warum dieses Modul verwenden?

  • User Agents fordern favicon.ico häufig und unterschiedslos, damit Sie diese Anfragen von Ihren Logs ausschließen möchten, indem Sie diese Middleware vor Ihrer Middleware verwenden.
  • Dieses Modul speichert das Symbol im Speicher, um die Leistung zu verbessern, indem Sie den Zugriff auf die Festplatte überspringen.
  • Dieses Modul bietet einen ETag basierend auf dem Inhalt des Icons, eher als Dateisystemeigenschaften.
  • Dieses Modul wird mit dem kompatibelsten Content-Type ausgeliefert.

Notiz Dieses Modul dient ausschliesslich für den “Standard-, implizite Favicon”, , der GET /favicon.ico ist. For additional vendor-specific icons that require HTML markup, additional middleware is required to serve the relevant files, for example serve-static.

Installieren

Dies ist ein Node.js Modul über die npm Registry. Installation erfolgt mit dem npm install Befehl:

Terminal window
npm install serve-favicon

Note

serve-favicon does not include its own TypeScript type definitions. If you use TypeScript, also install the community-maintained types from DefinitelyTyped as a development dependency:

Terminal window
npm install --save-dev @types/serve-favicon

API

favicon(path, options)

Erstelle neue Middleware, um ein Favicon aus dem angegebenen path zu einer Favicon-Datei zu liefern. path kann auch ein Buffer des zu dienenden Icons sein.

Optionen

Serve favicon akzeptiert diese Eigenschaften im Optionsobjekt.

maxAge

Die cache-control max-age Direktive in ms, standardmäßig 1 Jahr. This can also be a string accepted by the ms module.

Beispiele

Normalerweise kommt diese Middleware sehr früh in Ihrem Stapel (vielleicht sogar zuerst), um keine andere Middleware zu verarbeiten, wenn wir bereits wissen, dass die Anfrage für /favicon.ico.

express

var express = require('express');
var favicon = require('serve-favicon');
var path = require('path');
var app = express();
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
// Add your routes here, etc.
app.listen(3000);

connect

var connect = require('connect');
var favicon = require('serve-favicon');
var path = require('path');
var app = connect();
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
// Add your middleware here, etc.
app.listen(3000);

vanilla http Server

Diese Middleware kann überall verwendet werden, auch außerhalb Express/Verbindung. Es benötigt req, res und callback.

var http = require('http');
var favicon = require('serve-favicon');
var finalhandler = require('finalhandler');
var path = require('path');
var _favicon = favicon(path.join(__dirname, 'public', 'favicon.ico'));
var server = http.createServer(function onRequest(req, res) {
var done = finalhandler(req, res);
_favicon(req, res, function onNext(err) {
if (err) return done(err);
// continue to process the request here, etc.
res.statusCode = 404;
res.end('oops');
});
});
server.listen(3000);

Lizenz

MIT