我正在寻找一种创建帮助程序的方法,该帮助程序只需呈现放置模板的文件的基本名称,而不需要任何其他参数,如下所示:{{ basename }}
.
换句话说,如果我在两个部分中使用此助手,例如 header.hbs
和 navbar.hbs
,我希望渲染每个部分的名称在使用它们的地方的输出中。
我已经寻找了几个小时,但找不到任何答案。任何方向或指导将不胜感激。
最佳答案
在不太了解您的设置的情况下,这里是一种方法。
您需要在渲染函数中注册一个助手。然后您将调用渲染而不是编译。请注意,以下内容适用于后端,但您可以轻松地将其适应您的环境。
Handlebars 不了解您的环境,因此您需要在某处进行全局设置。
exports.render = function (name, req, context) {
if (isBrowser()) {
throw new Error('Render cannot be called client-side.');
}
handlebars.registerHelper('basename', function() {
var host = globalBasenameSetFromEnvironment;
return host;
});
if (!handlebars.templates[name]) {
throw new Error('Template Not Found: ' + name);
}
return handlebars.templates[name](context);
};
关于node.js - Handlebars 帮助程序检索使用它的文件的基本名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15601236/