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.register
, app.register
mustache.to_html(template, locals, partials)
。
您需要将partials对象作为第三个parameter passing给mustache的to_html
。