我正在使用grunt-ember-templates预编译我的模板。正如预期的那样,此工具将我的模板放在Ember.TEMPLATES
数组中。我正在调整grunt-ember-templates
的配置。为此,我想知道Ember.TEMPLATES
数组中的预期键是什么。假设我有这个模板:
<script type="text/x-handlebars" data-template-name="phones/index">
....
</script>
目前我将此模板放在名为app/templates/phones_index.hbs
的文件中,grunt-ember-templates
将预编译的模板放在Ember.TEMPLATES["app/templates/phones_index"]
中,但这是错误的。
data-template-name="phones/index"
的预期关键是什么?
答案 0 :(得分:4)
在您的示例中,Ember.TEMPLATES
中的密钥应为“phones / index”。
您可以配置grunt-ember-templates以删除路径的第一部分,并将所有内容保留在app/templates/
之后,假设您将模板放在文件app/templates/phones/index.hbs
中,这将为您提供正确的密钥。使用此设置,app/templates/phones/index.hbs
文件的密钥为Ember.TEMPLATES['phones/index']
,与使用<script>
的未编译data-template-name="phones/index"
代码相同。
Gruntfile.js(与this项目中的Gruntfile.js相同):
ember_templates: {
options: {
templateName: function(sourceFile) {
return sourceFile.replace(/app\/templates\//, '');
}
},
'dependencies/compiled/templates.js': ["app/templates/**/*.hbs"]
},