1

我正在使用 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'
        }
    });
});

如您所见, theheadfootpartial 的名称与它们相应的文件名完全相同(减号.html)。这样做很好,但我正在寻找一种简单的方法来让 express/mustache 在有匹配的文件名时自动加载部分;无需再次在每个函数中指定我的默认部分。{{> example}}-> 查找是否存在,如果未在 partials 对象中定义,则views/example.html加载它)。example

那可能吗?

或者至少有一种简单的方法来全局定义默认部分?

4

1 回答 1

1

这在合并时是不可能的。我们遇到了完全相同的问题(能够通过他们的名字来调用部分,而不必每次都告诉 hogan/consolidate 加载它们)并且找不到好的模块,所以我们制作了自己的模块,我们一直在生产中使用它几周:h4e (“Hogan for Express”)。有了它,所有部分都会自动加载,如果你愿意,你也可以使用布局。

我认为它应该满足您的需求。路易斯

于 2013-01-04T10:07:47.287 回答