そこで、外部テンプレート ファイル (.handlebars) を使用するように Ember ビューをセットアップしました。大まかな仕組みはこんな感じです。私はrequirejsモジュール形式を使用しています:
define([
"ember",
"text!templates/drawer-menu.handlebars"
],
function(Ember, drawerMenu) {
var DrawerMenu = Ember.View.extend({
template: Ember.Handlebars.compile(drawerMenu),
});
return DrawerMenu;
});
これで、すべての css および js ファイルのバンドル、uglify、縮小、パックなどに GruntJS を使用できるように、プロジェクトをセットアップしました。
また、テンプレートをプリコンパイルしたいと思います。そこで、すべてのテンプレートを 1 つの js ファイルに適切にパックするgrunt-ember-templatesをセットアップしました。生成された 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)
私の質問は、開発ワークフローをどのように設定すればよいですか? つまり
常にプリコンパイル済みテンプレートを使用するようにコードを変更する必要があります。その場合、開発環境でも常にプリコンパイルする必要があります。
上記を行わないと、本番用にビルドするたびに、すべてのビュー ファイルを手動で編集して、コンパイル済みのテンプレートを使用する必要があります。エラーが発生しやすいもの。
これを自動的に設定するメカニズムはありますか?