所以我已经阅读了关于Handlebars partials的官方文档。
它声明:
要使用部分内容,必须通过
Handlebars.registerPartial
注册。
Handlebars.registerPartial('myPartial', '{{name}}')
此调用将注册myPartial partial。可以预编译部分,并将预编译的模板传递到第二个参数。
它没有解释当你没有预先编译任何东西时应该是{{name}}
。我不想注册内联模板,我将它们作为templates/partials
中的单独文件,例如templates/partials/_header.hbs
。我只需要使用gulp-handlebars
生成HTML作为构建过程的一部分。
本文档未介绍如何将外部文件注册为模板(在服务器端使用把手时,我认为这是标准情况)。
有人可以帮忙吗?
答案 0 :(得分:0)
您引用的文档中的部分说:
部分可能会被预编译,并将预编译的模板传递到第二个参数中。
这意味着您可以用预编译的部分替换'{{name}}'
。这将要求您使用-p
标志来预编译部分。
您可以避免所有这些,并在没有-p
标志的情况下将模板和部分文件一起预编译。 (本质上是将子片段预先编译为模板)。这样,您就不需要预先注册局部文件。
这样做的副作用是,您需要在代码处理任何模板或部分文件之前添加Handlebars.partials = Handlebars.templates;
。
这基于来自question的信息。