对于使用Node.js的网站主页,我如何渲染布局和主页的相应视图?
我网站上的每个页面都应该使用layout.ejs,因为它包含页眉和页脚。页面的相应视图的正文内容将在此yield部分的layout.ejs中注入:
<%- body %>
到目前为止,使用此代码,主页正在渲染layout.ejs而不是index.ejs用于视图partial。我如何传入index.ejs?
app.get('/', function(request, response) {
response.render('layout.ejs');
});
答案 0 :(得分:0)
就我所知,这不是EJS真正能做的事情。您可以尝试单独渲染身体模板并将其作为身体变量传递。
// something we prepared earlier
var body = ejs.compile(fs.readFileSync("body.ejs"));
app.get('/', function(request, response) {
response.render('layout.ejs', {
body: body(someObject)
});
});
答案 1 :(得分:0)
如果我理解正确,您希望在每个页面中包含页眉和页脚。在ejs中你可以包含所以你可以创建一个header.ejs和一个footer.ejs,在每个其他页面你会写``&lt;%include ./header.ejs%&gt;在顶部和&lt;%include ./footer.ejs%&gt;在底部。这种方式每次加载index.ejs时,它都会呈现,因为它包含页眉和页脚。不幸的是,这是现在最接近ejs的布局。你可以像现在这样简单地渲染它:
app.get('/', function(request, response) {
response.render('index.ejs');
});