3

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

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

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

HandlebarsTemplates["my_template"]

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

HandlebarsTemplates["app/templates/my_template"]

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

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

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

4

1 回答 1

2

这在文档中并不明显,但更仔细地查看实现,我发现模板路径/名称可以通过传入一个空--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
于 2013-09-23T03:34:20.343 回答