节点'extends layout'不显示块内容

时间:2012-10-17 22:04:11

标签: node.js express pug

我在几个不同的项目中尝试了这个,结果相同。这是一个节目应用程序,快递2.5.8和玉0.20.3(但更新到更新版本的玉和表示不改变下面的问题)。

我有一个简单的玉石布局:

“layout.jade”

doctype 5
html
  head
    title MongoDB example
  body
    h1 My first MongoDB app
    hr
    block body

然后是一个索引内容页面,它应该继承布局并显示内容:

“index.jade”

extends layout
block body
if (authenticated)
  p Welcome back, #{me.first}
  a(href="/logout") Logout
else
  p Welcome new visitor!
  ul
    li: a(href="/login") Login
    li: a(href="/signup") Signup

在server.js中我(与玉有关):

app.set('view options', { layout: false });

但是当我运行服务器并加载页面时,我只获得布局上的内容而不是索引页面。如果我删除'extends layout',那么我从索引页面获取内容,但不从布局中获取内容。所以,我得到的输出是:

<html>
  <head><title>MongoDB example</title></head>
  <body>
    <h1>My first MongoDB app</h1><hr>
  </body>
</html>

图这一定是简单的我忽略了但是在谷歌上搜索没有爱。

1 个答案:

答案 0 :(得分:0)

您在index.jade

中丢失了缩进

试试这个:

extends layout
block body
  if (authenticated)
    p Welcome back, #{me.first}
    a(href="/logout") Logout
  else
    p Welcome new visitor!
    ul
      li: a(href="/login") Login
      li: a(href="/signup") Signup