źródło błędu opisuje wymagania:
if (!ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');
Express oczekuje, że albo określisz widok z jego rozszerzeniem:
res.render('index.html');
Lub określ domyślny silnik widoku i nazwij po nim swoje poglądy:
app.set('view engine', 'ejs');
// `res.render('index')` renders `index.ejs`
Jeśli chodzi o Twoją zmianę:
Problem dotyczy tej linii:
app.engine('.html', require('ejs').renderFile());
Jak pokazuje dokumentacja
, app.engine()
oczekuje function
odniesienie. Możesz to zrobić, po prostu usuwając ()
to rozmowa renderFile
:
app.engine('.html', require('ejs').renderFile);