Je ne peux pas rendre la mise en page avec ejs, exprimer:
app.configure(function () { app.use(express.static(__dirname + '/public')); app.use(express.basicAuth('username', 'password')); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); });
layout.ejs se trouve dans le dossier / views. Je rends /views/home/index.ejs mais ce n’est pas dans la mise en page:
res.render('home/index');
layout.ejs:
Dans Express 3, vous devez append des supports partiels et de présentation séparément avec les partiels express.
npm install express-partials
J’utilise plutôt ejs-locals. C’est une fourchette d’ejs-partiels mais elle est activement maintenue.
npm install ejs-locals
https://github.com/RandomEtc/ejs-locals
<% layout('boilerplate') -%> <% script('foo.js') -%> <% stylesheet('foo.css') -%> I am the <%=what%> template
<% block('header', "I'm in the header.
") -%> <% block('footer', "I'm in the footer.
") -%>
Et une mise en page, boilerplate.ejs:
It's <%=who%> <%-scripts%> <%-stylesheets%> <%-blocks.header%> <%-body -%>