3

我正在使用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.hbsgrunt-ember-templates并将预编译的模板放入Ember.TEMPLATES["app/templates/phones_index"],但这是错误的。

预期的密钥是data-template-name="phones/index"什么?

4

1 回答 1

4

在您的示例中,键Ember.TEMPLATES应该是“电话/索引”。

您可以配置 grunt-ember-templates 以删除路径的第一部分并保留之后的所有内容app/templates/,假设您将模板放置在 file 中,这将为您提供正确的密钥app/templates/phones/index.hbs。使用此设置,app/templates/phones/index.hbs文件的键将是Ember.TEMPLATES['phones/index'],这与具有未编译<script>标记的. 相同data-template-name="phones/index"

Gruntfile.js(与项目中的 Gruntfile.js 相同):

ember_templates: {
  options: {
    templateName: function(sourceFile) {
      return sourceFile.replace(/app\/templates\//, '');
    }
  },
  'dependencies/compiled/templates.js': ["app/templates/**/*.hbs"]
},
于 2013-04-08T20:09:40.530 回答