Node.js + Express – 如何获得小胡子部分工作?

我试图让胡子和Express一起正常工作,而且我们可以猜测,我有麻烦了。

下面一行初始化好的胡子很干净。 variables按预期呈现。

app.register('html', require(__dirname+'/public/js/libs/mustache.js')); 

然而,当部分物品被投入混合时,问题开始上升。 随着胡须,这里这部分应该调用标题视图/部分。

 {{> header}} 

但是,唉,没有任何反应。 :/即使我直接提供部分,小胡子也无法呈现它。

 app.get('/', function(req, res) { res.render('welcome', { partials: { header: '<h1>Header</h1>' } }); }); 

所以,似乎这些部分根本不工作。 我发现有一个黑客得到的部分有些工作:

http://bitdrift.com/post/2376383378/using-mustache-templates-in-express

之后,部分渲染直接在渲染调用中提供(见上),但仍然无法将部分直接渲染到视图/布局:

布局看起来像这样:

 Behold, the header {{> header}} <p>Let's move to more important stuff...</p> 

标题视图看起来像这样:

 <h1>Header</h1> 

Express可以自己加载视图,但它不知道如何处理胡须部分…

pipe理得到这个与最新版本的hogan-express的工作。

https://github.com/vol4ok/hogan-express

所有需要的是安装hogan-express并将其用作express模板引擎。 没有黑客或调整要求。

我不确定./public/js/libs/mustache.js究竟是什么东西…我使用npm +的模板对象中的mustache模块。

在任何情况下,您传递给app.register的对象都需要在app.register调用mustache.to_html(template, locals, partials) app.registerapp.register mustache.to_html(template, locals, partials)

您需要将partials对象作为第三个parameter passing给mustache的to_html