玉/快递块没有出现

时间:2017-01-09 03:34:57

标签: express pug

我做了很多关于这个主题的搜索,但似乎找不到任何可以帮助我的东西。我正在尝试使用jade的blockextends功能来呈现页眉和页脚,而不是包含。

这是我所拥有的,而我似乎无法理解为什么它不会呈现。

layout.jade

html
  head
   title= title

  body
   block header
   block content

   footer
     block footer

index.jade

extends layout

block content
  h1= title
  p Welcome to #{title}

header.jade

extends layout 

block header
  h1 this is a header

footer.jade

extends layout

block footer
  h2 this is a footer

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我认为你误解了'扩展模板'意味着什么。扩展layout.jade的每个模板都应编译为自己的页面。也就是说,layout定义了扩展它的每个页面应该如何显示的蓝图。这里的继承模式不是双向的:当看到layout模板具有footer块时,pug不会搜索所有其他模板以寻找可能的块实现。相反,您告诉它编译子模板,例如index模板。

我建议您使用以下内容:将页脚和标题内容直接包含在layout.jade中,或将include内容包含在block语句中。

按原样保留index模板 - 恕我直言,这是模板继承的正确使用模式。