Node.js + Express - 如何让Mustache部分工作?

cra*_*ish 5 node.js mustache express

我正试图让Mustache与Express一起正常工作,正如人们可以猜到的那样,我遇到了麻烦.

以下行初始化了Mustache很好并且干净.变量按预期呈现.

app.register('html', require(__dirname+'/public/js/libs/mustache.js'));
Run Code Online (Sandbox Code Playgroud)

然而,当混合物中出现局部物时,问题开始上升.使用Mustache,这里部分应该调用header view/partial.

{{> header}}
Run Code Online (Sandbox Code Playgroud)

但唉,没有任何反应.:/即使我直接提供部分,Mustache也无法呈现它.

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

所以,部分似乎根本不起作用.我发现一个黑客可以让部分工作有点起作用:

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

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

布局看起来像这样:

Behold, the header
{{> header}}
<p>Let's move to more important stuff...</p>
Run Code Online (Sandbox Code Playgroud)

标题视图看起来像这样:

<h1>Header</h1>
Run Code Online (Sandbox Code Playgroud)

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

cra*_*ish 2

设法让它与最新版本的 hogan-express 一起工作。

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

所需要做的就是安装 hogan-express 并将其用作 Express 上的模板引擎。无需黑客攻击或调整。