2

如何从文件中获取模板 Handlebars,如下所示:

App.ApplicationView = Ember.View.extend({templateName: 'templates/myTemplate1.handlebars'});

不是来自脚本:

< script type="text/x-handlebars" data-template-name="myTemplate1">

更新

我将实现Ember-Brunch车把模板预编译

4

2 回答 2

2

如果您打算组装完成的应用程序,您可以使用 rake-pipeline 之类的东西。当然,这意味着您还需要在开发过程中使用 rake-pipeline。

如果你不想组装你的模板,你可以在你的应用程序中调用 Ember.TEMPLATES['templateName'] = Ember.Handlebars.compile('template content goes here')。然后,您可以将这些模板分离到不同的文件中,这些文件将包含在您的 index.html 文件中。

除此之外,我认为没有其他选择。您可以通过 AJAX 调用获取您的模板并将它们提供给 Ember.Handlebars.compile,但是您的模板可能在应用程序的生命周期中为时已晚。另一种选择是在交付您的 Ember 应用程序的服务器上即时生成此文件,但您很可能必须构建自己的解决方案。

有关使用 Ember.TEMPLATES[''] 选项的应用程序,请参阅以下内容:https ://github.com/joachimhs/haagen-software.no/tree/master/app/

有点麻烦,不过习惯就好了。。。

对于这种功能,确实没有太多好的选择,而且恐怕 Ember.js 也没有多少可以做的事情。.

于 2012-09-03T19:08:46.337 回答
0

我相信 requirejs + require-handlebars-plugin 完全可以满足您的需求。您将不得不将您的 js 应用程序转换为使用 requirejs,但这应该不难。

于 2012-09-20T00:53:16.417 回答