A origem do erro descreve os requisitos:
if (!ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');
O Express espera que você especifique a visualização com sua extensão:
res.render('index.html');
Ou especifique um mecanismo de visualização padrão e nomeie suas visualizações depois dele:
app.set('view engine', 'ejs');
// `res.render('index')` renders `index.ejs`
Sobre sua edição:
O problema é com esta linha:
app.engine('.html', require('ejs').renderFile());
Como a documentação demonstra ,
app.engine()
está esperando uma function
referência. Você pode fazer isso simplesmente removendo o ()
que chamam renderFile
:app.engine('.html', require('ejs').renderFile);