目前,这是我在服务器上设置视图的方式.js当访问根页面时:
app.get('/', function(req, res){
res.render('home.jade');
});
而在家翡翠,
include head
include top
include left
body
div.container
p Welcome to the homepage.
这工作正常,但问题是当访问不同的页面时,我每次都必须包含 head.jade、top.jade 和 left.jade。有没有办法简单地只包含它们一次,并且每次转到不同页面时只更改身体部位?我看了一下部分,但似乎该选项在 Express 3.0+ 中删除了。
您可以通过以下方式渲染头部、顶部和左侧:
res.render('static.jade', {}, function(err, html){
// ...
});
指定回调时,不会发送任何响应,结果采用 var html
。然后你可以用'home.jade'做同样的事情,连接两个结果字符串并用
res.send(concatencated_html);
请记住,渲染标题将产生完整的 html 输出 ( <html>...</html>
),您需要在将其余部分附加到它之前进行修剪(与第二次渲染的开头相同)。
对我来说,将包含保留在视图文件中要简单得多。