La fonte dell'errore descrive i requisiti:
if (!ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');
Express si aspetta che tu specifichi la vista con la sua estensione:
res.render('index.html');
Oppure specifica un motore di visualizzazione predefinito e dai un nome alle tue visualizzazioni:
app.set('view engine', 'ejs');
// `res.render('index')` renders `index.ejs`
Per quanto riguarda la tua modifica:
Il problema è con questa linea:
app.engine('.html', require('ejs').renderFile());
Come dimostra la documentazione
, app.engine()
si aspetta una function
riferimento. Puoi farlo semplicemente rimuovendo il ()
quella chiamata renderFile
:
app.engine('.html', require('ejs').renderFile);