108 votes

Utiliser le HTML dans Express au lieu de Jade

Comment se débarrasser de Jade en utilisant Express avec Node.JS ? Je veux juste utiliser du html simple. Dans d'autres articles, j'ai vu que les gens recommandaient app.register() qui est maintenant déprécié dans la dernière version.

4voto

Pablo Vallejo Points 54

Vous pouvez utiliser EJS avec express dont les modèles sont HTML mais supportent les variables. Voici un bon tutoriel sur la façon d'utiliser EJS dans express.

http://robdodson.me/blog/2012/05/31/how-to-use-ejs-in-express/

4voto

AnandShanbhag Points 3805

Pour que le moteur de rendu accepte le html au lieu du jade, vous pouvez suivre les étapes suivantes ;

  1. Installer consolider y gorgée dans votre répertoire.

     npm install consolidate
     npm install swig
  2. ajoutez les lignes suivantes à votre fichier app.js

    var cons = require('consolidate');
    
    // view engine setup
    app.engine('html', cons.swig)
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', ‘html');
  3. Ajoutez vos modèles de vue en .html dans le dossier "views". Redémarrez votre serveur node et lancez l'application dans le navigateur.

Bien que cela rende le html sans aucun problème, je vous recommande d'utiliser JADE en l'apprenant. Jade est un moteur de modèles étonnant et son apprentissage vous aidera à obtenir un meilleur design et une meilleure évolutivité.

4voto

S Meaden Points 4690

Eh bien, on dirait que vous voulez servir des fichiers statiques. Et il y a une page pour cela http://expressjs.com/en/starter/static-files.html

Bizarre que personne ne fasse de lien vers la documentation.

4voto

Soubhagya Kumar Points 282

Vérifiez d'abord la version de compatibilité du moteur de template en utilisant la ligne suivante

express -h

alors vous devez utiliser aucune vue de la liste.sélectionnez aucune vue

express --no-view myapp

maintenant vous pouvez utiliser tous vos html,css,js et images dans le dossier public.

1voto

João Rodrigues Points 381

En considérant que vous avez déjà défini vos itinéraires ou que vous savez comment le faire.

app.get('*', function(req, res){
    res.sendfile('path/to/your/html/file.html');
});

NOTE : cette route doit être placée après toutes les autres puisque * accepte tout.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X