MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Por que o express está me dizendo que meu mecanismo de visualização padrão não está definido?


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