配置生成的预编译Handlebars模板名称

时间:2013-09-20 05:57:08

标签: javascript npm handlebars.js

是否可以手动配置使用NPM软件包编译Handlebars模板时生成的名称/索引?

我在不同的上下文中使用了Handlebars(Rails,NodeJS,PHP),我注意到在某些情况下,生成的模板名称是文件的基本名称,而在其他情况下,名称是文件的完整路径

例如,运行handlebars app/templates/*.hbs -n HandlebarsTemplates -e hbs会产生如下名称:

HandlebarsTemplates["my_template"]

但在其他地方,我也看到了以下内容:

HandlebarsTemplates["app/templates/my_template"]

我找不到可以传递给控制它的handlebars脚本的选项。

这是可配置的行为吗?或者,使用CLI工具编译纯JS(调用Handlebars.compile(source))与使用CLI工具之间存在差异吗?

了解这些命名样式中的哪一种最接近推荐使用Handlebars的最佳实践也很有趣。

1 个答案:

答案 0 :(得分:2)

这在文档中并不明显,但仔细查看the implementation,我发现可以通过传入一个空的--root参数来切换模板路径/名称。

默认情况下,脚本调用basename(),编译为my_template

 handlebars app/templates/my_template.hbs -e hbs

然而,传入空--root参数将避免转换路径,因此以下命令将编译为app/templates/my_template

handlebars app/templates/my_template.hbs -e hbs -r