在 Node/Express 上同时渲染 2 个模板

Render 2 templates at the same time on Node/Express

我来自PHP场景,所以这可能是一个错误的问题。 我以这种方式向客户提供页面(带有 Handlebars 的模板):

router.get('/', function(req, res) {
  res.render('home');
});

它有效,但是如果我需要将我的模板分成一些不同的部分(这样我就可以以多种不同的方式重用其中一个)怎么办?例如,我有一个页眉模板和一个页脚模板。

像这样:

router.get('/', function(req, res) {
  res.render('header');
  res.render('content');
  res.render('footer');
});

我怎样才能做到这一点?谢谢。

假设你使用的是 handlebars 模板渲染服务,你可以使用 partials。

http://handlebarsjs.com/partials.html

代码示例:https://github.com/donpark/hbs/blob/master/examples/partial/views/index.hbs

基本的高级调用堆栈如下所示:

res.render('page') ---> parses N of partials (recursively) --> html out