Рабочий процесс для использования предварительно скомпилированных шаблонов ember/handlebars

Итак, мои Ember view настроены на использование внешних файлов шаблонов (.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.

Я также хотел бы предварительно скомпилировать мои шаблоны. Поэтому я установил https://github.com/dgeb/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) всякий раз, когда мне нужны данные шаблона.

Мой вопрос: как мне настроить рабочий процесс разработки? Я имею в виду

  1. Должен ли я изменить свой код, чтобы всегда использовать предварительно скомпилированные шаблоны, и в этом случае мне всегда придется выполнять предварительную компиляцию и в моей среде разработки.

  2. Если я не сделаю выше, то каждый раз, когда я собираюсь для производства, я должен вручную редактировать все файлы представления, чтобы использовать предварительно скомпилированные шаблоны. Что-то подвержено ошибкам.

Есть ли механизм для автоматической настройки?

1 ответ

Я бы переключился на ленивую загрузку шаблонов и всегда прекомпиляцию. Они получают откомпилированную клиентскую часть, и не так уж они полезны для отладки клиентской части.

var DrawerMenu = Ember.View.extend({
    templateName: 'drawer-menu',
});
Другие вопросы по тегам