11
votes

Les EJS incluent la fonction ne peuvent pas trouver le modèle avec une extension HTML

mon moteur EJS configuré est app.js est comme ci-dessous:

<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript" src="js/jquery-1.5.js"></script>


0 commentaires

5 Réponses :


1
votes

Vous pouvez utiliser des fichiers .ejs directement à l'aide de app.set ('Vue moteur', 'EJS'); et renommer index.html à index.ejs.

Voici un exemple: http://robdodson.me/blog/ 2012/05 / 31 / How-to-Use-EJS-IN-Express /


2 commentaires

En fait, je veux utiliser le moteur EJS, mais l'extension de fichier est HTML


app.Engine ('html', exige ('EJS'). Renderfile);



11
votes

Comme Elie Gnrd suggère, vous utilisez directement des fichiers .ejs en modifiant le moteur Vue Configuration de Express.

Si ce n'est pas une option, et Vous voulez / besoin de continuer à utiliser .html comme une extension pour vos modèles, vous devez être explicite dans l'inclusion: xxx


0 commentaires

0
votes

J'ai aussi eu ce problème et modifié ce fichier de mon application: xxx

La fonction est: xxx

Vous pouvez changer le Extension par défaut ou comme dans mon cas, j'ai changé la fonction sur un plus direct: xxx

Ils peuvent modifier la fonction comme elles le souhaitent.

J'espère que est utile.


0 commentaires

1
votes

arron;)

  1. Vous n'avez pas mentionné quelle application - alors j'assume express> = 3 li>
  2. Solution: Oubliez le point et __Express dans li> ol>

    app.Engine ('. HTML', nécessite ('EJS') .__ Express); p>

    il devrait lire: strong> p>

    app.engine('html', require('ejs').renderFile);
    


0 commentaires

1
votes

Modifier le fichier HTML avec EJS

app.get('/', (req, res) => { 
    res.render('index');
});


0 commentaires