想知道使用基于快速渲染variables的把手部分的最佳方法

所以我想知道什么是当我有一个渲染variables设置时,在Express中加载Handlebars Partial的最佳方法。

app.get('/raves-reviews/corporate-clients', function (req, res) { res.render('raves-reviews.html', { //This of this a micro layout layout: 'main', //this is the main layout title: 'Raves & Reviews', corporate: true, //this is part of idea 1 page: 'corporate-clients' //this is part of idea 2 and 3 }); }); 

因此,当用户转到mysite.com/raves-reviews/corporate-clients时,把手将首先加载主布局,我已经使用导航进行设置,以显示主页滑块或者raves-review滑块(如果没有)主页。

然后,它会加载raves-reviews.html页面,这个页面只是一个句柄文件,我已经将扩展名重命名为.html,这将是一个微型模板,可以容纳4个其他页面。

我不想做的是必须制作4页,使用相同的raves-reviews.html微型模板,并且必须包括每个其他页面作为部分。 我宁愿做一个页面,将能够处理每一个局部的需要,就像主要的布局与网站中的其他页面一样。

所以想法1,在raves-reviews.html中创build4个{{#if}}块

 {{#if page1}} {{> page1}} {{/if}} {{#if page2}} {{> page2}} {{/if}} {{#if page3}} {{> page3}} {{/if}} {{#if page4}} {{> page41}} {{/if}} 

所以想法2是使用我在这里find的帮手: 在一个handlebars.js {{#if}}有条件创build页面的逻辑运算符 ,但是我没有读过那个句柄假设是没有逻辑。 所以我不确定这是否会成为一个调用逻辑的好方法,进入一个被devise为无逻辑使用的模板系统。

想法3是看看是否有一种方法来使用app.get中的页面variables来创build一个部分,但我不是100%确定如何将其拉下。 我最初的想法是做:

 {{> {{page}} }} 

如果还有其他方法,我完全接受任何其他的想法。 感谢大家。

你可能应该select1,只是因为你已经做到了