Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Jade多个模板文件_Node.js_Express_Pug - Fatal编程技术网

Node.js Jade多个模板文件

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

我是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
  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'…
我试过用页眉和页脚放置put
block
行,但它们没有出现…知道为什么吗?我试过用页眉和页脚放置put
block
行,但它们没有出现…知道为什么吗?