zdroj chyby popisuje požadavky:
if (!ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');
Express očekává, že buď zadáte zobrazení s jeho příponou:
res.render('index.html');
Nebo zadejte výchozí modul zobrazení a pojmenujte své názory po něm:
app.set('view engine', 'ejs');
// `res.render('index')` renders `index.ejs`
Ohledně vaší úpravy:
Problém je s tímto řádkem:
app.engine('.html', require('ejs').renderFile());
Jak ukazuje dokumentace
, app.engine()
očekává function
odkaz. Můžete to udělat jednoduše odstraněním ()
tento hovor renderFile
:
app.engine('.html', require('ejs').renderFile);