【发布时间】:2013-03-24 16:52:32
【问题描述】:
我正在寻找一种方法来创建一个帮助程序,该帮助程序仅呈现放置模板的文件的基本名称,并且不需要任何其他参数,例如:{{ basename }}。
换句话说,如果我在两个部分中使用这个助手,比如header.hbs 和navbar.hbs,我希望每个部分的名称都会在输出中呈现在它们被使用的任何地方。
我已经找了好几个小时,但找不到任何答案。任何方向或指导将不胜感激。
【问题讨论】:
-
我怀疑 Handlebars 甚至会在你的助手运行时知道文件名(如果有文件名知道的话)。您可能需要破解核心 Handlebars 代码,并说破解可能比您想要的要大。
-
这就是我摆弄了一段时间后的怀疑,但我希望有一些我不知道的隐藏的超级功能......对此:“如果有一个文件名要知道”,我试图想出一种方法来“使”具有节点路径/fs 的车把知道这一点。似乎不可能
-
问题(可能)在于将某些东西放入 Handlebars 的两种方法是
Handlebars.compile和Handlebars.registerPartial,它们都不知道文件,他们只知道字符串。我不能保证没有魔法捷径,但似乎不太可能。 -
这可能会或可能不会有所作为,但我正在使用 Grunt.js 和 assemble (github.com/assemble/assemble)。感谢您的洞察力,尽管@mu 太短了,非常有帮助。
标签: node.js templates handlebars.js helper helpers