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);