【问题标题】:Configuring the generated name of precompiled Handlebars templates配置预编译的 Handlebars 模板的生成名称
【发布时间】:2013-09-23 11:34:20
【问题描述】:

是否可以手动配置使用 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 的最佳实践也会很有趣。

【问题讨论】:

    标签: javascript npm handlebars.js


    【解决方案1】:

    这在文档中并不明显,但更仔细地查看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
    

    【讨论】:

      猜你喜欢
      • 2013-08-19
      • 2013-03-14
      • 1970-01-01
      • 2012-04-10
      • 2014-08-29
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 1970-01-01
      相关资源
      最近更新 更多