【发布时间】:2013-12-11 06:27:10
【问题描述】:
所以,我已将 Ember 视图设置为使用外部模板文件 (.handlebars)。一般机制是这样的。我正在使用 requirejs 模块格式:
define([
"ember",
"text!templates/drawer-menu.handlebars"
],
function(Ember, drawerMenu) {
var DrawerMenu = Ember.View.extend({
template: Ember.Handlebars.compile(drawerMenu),
});
return DrawerMenu;
});
现在,我已经设置了我的项目,所以我可以使用 GruntJS 来处理诸如捆绑、uglify、缩小和打包所有 css 和 js 文件之类的事情。
我还想预编译我的模板。所以我设置了grunt-ember-templates,它将我所有的模板很好地打包到一个js文件中。生成的js文件如下所示:
define(["ember"], function(Ember){
Ember.TEMPLATES["drawer-menu"] = Ember.Handlebars.template(
function anonymous(Handlebars,depth0,helpers,partials,data) {
....
return buffer;
});
);
我不明白,我现在应该在需要模板数据时使用Ember.TEMPLATES["drawer-menu"] 而不是Ember.Handlebars.compile(drawerMenu)。
我的问题是我应该如何设置开发工作流程?我是说
我是否应该更改我的代码以始终使用预编译的模板,在 在这种情况下,我总是必须在我的开发中进行预编译 环境也是。
如果我不执行上述操作,那么每次为生产构建时,我 必须手动编辑所有视图文件才能使用预编译模板。容易出错。
是否有自动设置的机制?
【问题讨论】:
标签: ember.js handlebars.js ember.js-view