sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Por qué express me dice que mi motor de visualización predeterminado no está definido?

El origen del error describe los requisitos:

if (!ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');

Express espera que especifique la vista con su extensión:

res.render('index.html');

O especifique un motor de visualización predeterminado y asigne un nombre a sus vistas:

app.set('view engine', 'ejs');

// `res.render('index')` renders `index.ejs`

Con respecto a su edición:

El problema es con esta línea:

app.engine('.html', require('ejs').renderFile());

Como demuestra la documentación , app.engine() está esperando una function referencia. Puede hacer esto simplemente eliminando () esa llamada renderFile :

app.engine('.html', require('ejs').renderFile);