我在同一个文件夹中有两个玉模板,就像:
|__layout.jade
|__content.jade
并且layout.jade是父模板,content.jade将继承它:所以在layout.jade
:
doctype 5
html(lang="en")
head
title= title
body
block content
content.jade
中的
extends layout
block content
h1 this is frome nested template
然而,当我运行它时,继承不起作用,它只显示父模板的内容
所以我的代码出了什么问题?
答案 0 :(得分:2)
确保在content.jade
中添加关键字“append”。
extends layout
block append content
h1 this is from nested template
答案 1 :(得分:1)
这可能是一个完全红色的鲱鱼,但我注意到你的两个文件似乎有不一致的缩进(至少粘贴在上面)。
如果你纠正这个是否有效?
答案 2 :(得分:1)
我遇到了类似的问题,并在stack-overflow / Jade文档中尝试了node.js的各种答案。
在你的app.js文件中检查以下内容..
1)检查视图引擎是否设置为jade(现在重命名为pug):
app.set("view engine", "jade");
2)设置views文件夹(即保存模板/视图文件的位置):
app.set("views", __dirname + "/views");
3)将布局设置为false:
app.set('view options', { layout: false });
4)如果您使用express,请检查您是否正在呈现正确的文件
app.get("/", function(req, res){
res.render("contents.jade");
});
希望有所帮助
答案 3 :(得分:0)
我测试了你的代码,没关系,你想尝试更新版本的node.js和jade吗?