Creating routesAdding partials

Templating

Par défaut jade.

On utilisera ici EJS.

npm install ejs --save

Par défaut les templates sont à mettre dans un dossier views.

Si on omet le tag = → <%= js %> on peut écrire du javascript normal.

index.js

var express = require('express');
var app = express();

app.set('view engine', 'ejs');
// si par exemple dossier vues au lieu de views
// app.set('views', __dirname + '/vues');

app.get('/', function(req, res) {
  console.log('/ requested');
  res.render('default', { title: 'Hello', users: ['Mireille', 'José', 'Marcel', 'Odette', 'Lucien', 'Félicienne'] });
})

// si on a autre chose
app.get('*', function(req, res) {
  var name = req.params.name;
  var title = req.params.title;
  res.send('<h1 style="font-size:250pt">😭</h1>')
})

var server = app.listen(3000, function() {
  console.log('Listening on port 3000.');
})

/views/default.ejs

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title><%= title %></title>
</head>
<body>
<h1><%= title %></h1>
<p>Utilisateurs en ligne :
<ul>
<% for (var i=0; i <users.length; i++) {%>
  <li><%= users[i] %></li>
<% } %>
</ul>
</p>
</body>
</html>