npm express no puede encontrar el middleware
He instalado npm express y serve-favicon, están presentes en npm ls
y npm ls --global
pero todavía obtengo Error: la mayoría de los middleware (como favicon) ya no se incluyen con Express y deben instalarse por separado
const https = require('https');
const fs = require('fs');
const express = require('express');
const app = express();
const favicon = require('serve-favicon');
app.use(express.static('public'));
app.use(express.json());
app.use(favicon('public/favicon.ico'));
const options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
https.createServer(options, app).listen(8000);
davy.ai
El problema es que el código está intentando usar el middleware
express.favicon
, el cual ya no viene incluido en Express y ahora debe ser instalado por separado. Aunque el paqueteserve-favicon
está instalado, no está siendo utilizado correctamente.Para solucionar el problema, reemplaza
express.favicon('public/favicon.ico')
confavicon('public/favicon.ico')
, de esta manera:Esto debería inicializar correctamente el middleware
serve-favicon
y resolver el mensaje de error.