gpt4 book ai didi

node.js - Jade多个模板文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:11:42 25 4
gpt4 key购买 nike

我对 Node 很陌生,正在使用 Express 和 Jade,我正在遵循的教程已经过时了,我似乎不知道如何做到这一点。

在我的 app.js 文件中,我声明了以下路由:

app.get('/helloworld', function(req,res) {
res.render('tasks/helloworld.jade', { title: 'Hello World!' });
});

所以我的观点如下

layout.jade

doctype 5
html
head
title= title
link(rel='stylesheet', href='http://twitter.github.com/bootstrap/assets/css/bootstrap.css')
body
section.container!= body

尝试使用引导CSS

然后tasks/helloworld.jade

extends ../layout

body
h1 Hello World

但是,这似乎并没有产生我认为应该得到的结果。如果我删除 extends ../layout 模板将呈现,但没有任何标题。如果我把它留在里面,我会得到一个错误,提示 body is not Defined

知道如何让它正确渲染吗?

最佳答案

在jade中,您使用 block 来扩展模板。试试这个:

布局.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

这将有效地用提供的新内容替换布局的 block 内容中的任何内容,在本例中为h1 Hello World

编辑:我在布局中添加了一个 section.container ,因为我后来意识到我认为您正在尝试将所有内容包装在正文中。如果这不是您想要做的,您可以删除该行,但如果您这样做,请确保修复缩进,因为 jade 关心这一点。

关于node.js - Jade多个模板文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15236255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com