如何使用express hbs渲染模板,但不能完成请求?

时间:2016-07-29 11:57:18

标签: node.js express handlebars.js

我目前使用hbs使用把手模板呈现回复:

res.render('blog-article', {
    title: article.title,
    slug: article.slug,
    article: article,
    serverVars: JSON.stringify({
        mixPanelToken: mixPanelToken
    })
});

在某些路由中,我想在hbs完成后对HTML进行一些服务器端转换。

我可以加载正常的“把手”然后执行此操作,但我想重新使用hbs 中的所有缓存和部分内容。

如何在不完成请求的情况下使用hbs呈现布局?

1 个答案:

答案 0 :(得分:1)

使用Express中的任何模板引擎,您可以通过将回调传递给res.render()来拦截生成的输出:

res.render('blog-article', {
    title: article.title,
    slug: article.slug,
    article: article,
    serverVars: JSON.stringify({
        mixPanelToken: mixPanelToken
    })
}, function(err, output) {
  ...
});

the documentation;