Вы были правы, подозревая, что чего-то не хватает, вы выполняете ненужную работу там.
Express свяжет шаблоны для вас, просто вызовите res.render () и имя представления, которое вы хотите вызвать. Компоновка и партиалы должны быть установлены автоматически.
В своих приложениях я обычно использую партиалы, как показано ниже. Просто замените ссылки на EJS тем механизмом шаблонов, который вы используете (Jade, усы и т. Д.):
. / Lib / app.js
app.get('/', function(req, res) {
var model = {
layout:'customLayout', // defaults to layout.(ejs|jade|whatever)
locals:{
foo:'bar'
}
};
res.render('index',model);
});
. / Просмотров / layout.ejs
<html>
<head><%- partial('partials/head') %></head>
<body>
<%- partial('partials/menu') %>
<%- body %>
<%- partial('partials/footer') %>
</body>
</html>
. / Просмотров / index.ejs
<h1>Index page</h1>
. / Просмотров / обертоны / menu.ejs
<div><a href='... </div>
. / Просмотров / обертоны / head.ejs
<script>...</script>
etc.