有没有办法在 ExpressJS 中只呈现一次视图



目前,这是我在服务器上设置视图的方式.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> ),您需要在将其余部分附加到它之前进行修剪(与第二次渲染的开头相同)。

对我来说,将包含保留在视图文件中要简单得多。

相关内容

  • 没有找到相关文章

最新更新