我正在使用express + consolidate + mustache作为模板引擎,我想知道是否有一种方法可以使用express来自动加载具有匹配文件名的部分,我没有明确定义。
示例:
head.html:
---
<!DOCTYPE html>
<html><head><title></title></head><body>
index.html:
---
{{> head}}
{{content}}
{{> foot}}
foot.html:
---
</body></html>
app.js:
---
app.get('/', function(req, res) {
res.render('index.html', {
partials: {
head: 'head',
foot: 'foot'
}
});
});
如您所见,head
和foot
部分的名称与其相应的文件名完全相同(减去.html
)。这样做可以正常工作,但我正在寻找一种简单的方法让express / mustache自动加载部分文件,如果有匹配的文件名;无需再次在每个函数中指定我的默认部分。 {{> example}}
- &gt;查看views/example.html
是否存在,如果未在partials对象中定义example
,则加载它。
这可能吗?
或者至少有一种简单的方法可以全局定义默认部分吗?
答案 0 :(得分:1)
这还不可能合并。我们有完全相同的问题(能够通过他们的名字调用部分而不必告诉hogan / consolidate每次都加载它们)并且找不到一个好的模块,所以我们制作了自己的,我们一直在生产中使用几周:h4e(“Hogan for Express”)。有了它,所有部分都会自动加载,如果你愿意,你也可以使用布局。
我认为它应该满足您的需求。 路易斯