如何从文件中获取模板 Handlebars,如下所示:
App.ApplicationView = Ember.View.extend({templateName: 'templates/myTemplate1.handlebars'});
不是来自脚本:
< script type="text/x-handlebars" data-template-name="myTemplate1">
更新
我将实现Ember-Brunch车把模板预编译
如何从文件中获取模板 Handlebars,如下所示:
App.ApplicationView = Ember.View.extend({templateName: 'templates/myTemplate1.handlebars'});
不是来自脚本:
< script type="text/x-handlebars" data-template-name="myTemplate1">
更新
我将实现Ember-Brunch车把模板预编译
如果您打算组装完成的应用程序,您可以使用 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 也没有多少可以做的事情。.
我相信 requirejs + require-handlebars-plugin 完全可以满足您的需求。您将不得不将您的 js 应用程序转换为使用 requirejs,但这应该不难。