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.icohä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
ETagbasierend auf dem Inhalt des Icons, eher als Dateisystemeigenschaften. - Dieses Modul wird mit dem kompatibelsten
Content-Typeausgeliefert.
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:
npm install serve-faviconyarn add serve-faviconpnpm add serve-faviconbun add serve-faviconNote
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:
npm install --save-dev @types/serve-faviconyarn add --dev @types/serve-faviconpnpm add --save-dev @types/serve-faviconbun add --dev @types/serve-faviconAPI
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);