【问题标题】:How to render view and layout for homepage?如何渲染主页的视图和布局?
【发布时间】:2013-07-18 22:30:16
【问题描述】:

对于使用 Node.js 的网站主页,我将如何渲染布局和主页的相应视图?

我网站上的每个页面都应该使用 layout.ejs,因为它包含页眉和页脚。页面各自视图的正文内容在此 yield 部分的 layout.ejs 中注入: <%- body %>

到目前为止,使用此代码,主页正在渲染 layout.ejs 而不是 index.ejs 用于视图部分。如何传入 index.ejs?

app.get('/', function(request, response) {
    response.render('layout.ejs');
});

【问题讨论】:

标签: node.js express ejs


【解决方案1】:

据我所知,这不是 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)
  });
});

【讨论】:

    【解决方案2】:

    如果我理解正确,您希望在每个页面中包含页眉和页脚。在 ejs 中,您可以包含,因此您可以创建 header.ejs 和 footer.ejs,并且在每个其他页面中,您将在顶部写 ` 和 在底部。这样每次加载 index.ejs 时,它都会呈现,因为它包含页眉和页脚。不幸的是,这是当今 ejs 中最接近布局的方法。您将能够像现在一样简单地渲染它:

    app.get('/', function(request, response) {
        response.render('index.ejs');
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多