källan till felet beskriver kraven:
if (!ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');
Express förväntar sig att du antingen anger vyn med dess tillägg:
res.render('index.html');
Eller ange en standardvisningsmotor och namnge dina åsikter efter det:
app.set('view engine', 'ejs');
// `res.render('index')` renders `index.ejs`
Angående din redigering:
Problemet är med den här raden:
app.engine('.html', require('ejs').renderFile());
Som dokumentationen visar
, app.engine() förväntar sig en function referens. Du kan göra detta genom att helt enkelt ta bort () det samtal renderFile :
app.engine('.html', require('ejs').renderFile);