Node.js Jade多个模板文件
我是Node的新手,正在玩Express和Jade,我下面的教程已经过时了,我似乎不知道怎么做 在我的app.js文件中,我声明了以下路径:Node.js Jade多个模板文件,node.js,express,pug,Node.js,Express,Pug,我是Node的新手,正在玩Express和Jade,我下面的教程已经过时了,我似乎不知道怎么做 在我的app.js文件中,我声明了以下路径: app.get('/helloworld', function(req,res) { res.render('tasks/helloworld.jade', { title: 'Hello World!' }); }); 因此,对于我的观点,我有以下几点 布局。jade doctype 5 html head title= title
app.get('/helloworld', function(req,res) {
res.render('tasks/helloworld.jade', { title: 'Hello World!' });
});
因此,对于我的观点,我有以下几点
布局。jade
doctype 5
html
head
title= title
link(rel='stylesheet', href='http://twitter.github.com/bootstrap/assets/css/bootstrap.css')
body
section.container!= body
extends ../layout
body
h1 Hello World
尝试使用引导css
然后任务/helloworld.jade
doctype 5
html
head
title= title
link(rel='stylesheet', href='http://twitter.github.com/bootstrap/assets/css/bootstrap.css')
body
section.container!= body
extends ../layout
body
h1 Hello World
然而,这似乎并没有产生我认为应该产生的结果。如果我删除extends../layout
,模板将呈现,但没有任何标题。如果我把它留在里面,我会得到一个错误,它说body未定义
你知道如何正确渲染吗?在jade中,你可以使用块来扩展模板。试试这个: layout.jade:
doctype 5
html
head
title= title
link(rel='stylesheet', href='http://twitter.github.com/bootstrap/assets/css/bootstrap.css')
body
section.container
block content
helloworld.jade:
extends ../layout
block content
h1 Hello World
这将有效地用提供的新内容替换版面的块内容
中的任何内容,在本例中为h1 Hello World
编辑:我在布局中添加了一个
节.container
,因为我后来意识到,我认为您正在尝试将所有内容包装在正文中。如果这不是您想要做的,您可以删除该行,但如果您这样做,请确保您修复了缩进,因为jade很关心这一点。在jade中,您使用块来扩展模板。试试这个:
layout.jade:
doctype 5
html
head
title= title
link(rel='stylesheet', href='http://twitter.github.com/bootstrap/assets/css/bootstrap.css')
body
section.container
block content
helloworld.jade:
extends ../layout
block content
h1 Hello World
这将有效地用提供的新内容替换版面的块内容
中的任何内容,在本例中为h1 Hello World
编辑:我在布局中添加了一个
节.container
,因为我后来意识到,我认为您正在尝试将所有内容包装在正文中。如果这不是您要做的,您可以删除该行,但如果您这样做,请确保您修复了缩进,因为jade很关心这一点。将.jade
放在res.render('tasks/helloworld'…
放在res.render中('tasks/helloworld'…
我试过用页眉和页脚放置putblock
行,但它们没有出现…知道为什么吗?我试过用页眉和页脚放置putblock
行,但它们没有出现…知道为什么吗?