Javascript 配置预编译把手模板的生成名称

Javascript 配置预编译把手模板的生成名称,javascript,npm,handlebars.js,Javascript,Npm,Handlebars.js,是否可以手动配置使用NPM包编译把手模板时生成的名称/索引 我在不同的上下文(Rails、NodeJS、PHP)中使用了Handlebar,我注意到在某些情况下,生成的模板名称是文件的基本名称,而在其他情况下,名称是文件的完整路径 例如,运行handlebar app/templates/*.hbs-n handlebar templates-e hbs将产生如下名称: HandlebarsTemplates["my_template"] 但在其他地方,我也看到了以下情况: Handlebar

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

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

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

HandlebarsTemplates["my_template"]
但在其他地方,我也看到了以下情况:

HandlebarsTemplates["app/templates/my_template"]
我找不到可以传递给控制此操作的
handlebar
脚本的选项

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


了解这些命名样式中的哪一种更接近使用把手的推荐最佳实践也是很有意思的。

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

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

 handlebars app/templates/my_template.hbs -e hbs
handlebars app/templates/my_template.hbs -e hbs -r
然而,传入一个空的
--root
参数将避免转换路径,因此以下命令编译为
app/templates/my_template

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