MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pourquoi express me dit-il que mon moteur d'affichage par défaut n'est pas défini ?

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