所以,我已将我的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来完成诸如bundle,uglify,minify和pack之类的所有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)
。
我的问题是我应该如何设置开发工作流程?我的意思是
我是否应该将代码更改为始终使用预编译模板 在我的开发中,我总是需要预编译 环境也。
如果我不这样做,那么每次我为生产而建,我 必须手动编辑所有视图文件才能使用预编译模板。容易出错。
是否有自动设置的机制?
答案 0 :(得分:0)
我会切换到延迟加载模板并始终预编译。它们被编译为客户端,并不像它们对调试客户端那么有用。
var DrawerMenu = Ember.View.extend({
templateName: 'drawer-menu',
});