Rendre la mise en page avec ejs

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 -%>
<%-blocks.footer%>