ExpressJS:Template engines

template engines ce sont des modules qui permettent qui permet d'écrire des codes dynamiques (variables, fonctions) dans une page statique (HTML) ,il existe plusieurs template engines comme
  1. Pug
  2. Mustache
  3. EJS
  4. Jade:le générateur par défaut de ExpressJS

Exemple1 :Pug les variables

npm install pug --save

views/index.pug

html
  head
    title= variable1
  body
    h1= variable2

Serveur.js

//importer expressjs
var express = require('express');
 var app = express();

app.set('views', './views');
app.set('view engine', 'pug');

app.get('/index', (req, res) => {
  res.render('index', { variable1: 'le titre de la page', variable2: 'Bonjour tout le monde' })
})


//démarer le serveur sur le port 8081
app.listen(8081, function () {
console.log('Écoute du port 8081');
});

Exemple2 :Pug les boucles,tableaux,objets

views/index.pug

html
  head
    title= variable1
  body
    h1= variable2

ul
  each val, index in tableau
    li= index + ': ' + val

table(style='width:100%', border='1')
  thead(style='width:100%', border='1')
    th nom
    th prenom
  each val, key in clients
   tr
    td=val.nom
    td=val.prenom

Serveur.js

//importer expressjs
var express = require('express');
 var app = express();

app.set('views', './views');
app.set('view engine', 'pug');

app.get('/index', (req, res) => {
  res.render('index',
  {
  variable1: 'le titre de la page',
  variable2: 'Bonjour tout le monde',
 tableau:['a','b','c'],
 clients:[{'nom':'client1','prenom':'prenom1'},
          {'nom':'client2','prenom':'prenom3'}
          ]
 
 })
})



//les routes
const test = require('./routage')
app.use('/tests',test)

//démarer le serveur sur le port 8081
app.listen(8081, function () {
console.log('Écoute du port 8081');
});









Cours et TPs