La source de l'erreur décrit les exigences :
if (!ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');
Express s'attend à ce que vous spécifiiez la vue avec son extension :
res.render('index.html');
Ou spécifiez un moteur d'affichage par défaut et nommez vos vues en conséquence :
app.set('view engine', 'ejs');
// `res.render('index')` renders `index.ejs`
Concernant votre modification :
Le problème vient de cette ligne :
app.engine('.html', require('ejs').renderFile());
Comme le montre la documentation
, app.engine()
attend une function
référence. Vous pouvez le faire en supprimant simplement le ()
cet appel renderFile
:
app.engine('.html', require('ejs').renderFile);