我做了很多关于这个主题的搜索,但似乎找不到任何可以帮助我的东西。我正在尝试使用jade的block
和extends
功能来呈现页眉和页脚,而不是包含。
这是我所拥有的,而我似乎无法理解为什么它不会呈现。
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
任何帮助将不胜感激。
答案 0 :(得分:2)
我认为你误解了'扩展模板'意味着什么。扩展layout.jade
的每个模板都应编译为自己的页面。也就是说,layout
定义了扩展它的每个页面应该如何显示的蓝图。这里的继承模式不是双向的:当看到layout
模板具有footer
块时,pug不会搜索所有其他模板以寻找可能的块实现。相反,您告诉它编译子模板,例如index
模板。
我建议您使用以下内容:将页脚和标题内容直接包含在layout.jade
中,或将include
内容包含在block
语句中。
按原样保留index
模板 - 恕我直言,这是模板继承的正确使用模式。