5

「アクション」、「ビュー」などのEmber.jsヘルパーを認識できるように、Handlebarsテンプレートをプリコンパイルする方法はありますか?

私が尋ねている理由は、ハンドルバーのランタイムのみのビルドでEmber.jsを使用する必要があるためです(Google ChromeのCSPのため)。Ember.jsは現在そのようなシナリオを完全にはサポートしていないようです: https: //github.com/emberjs/ember.js/issues/1303

4

1 に答える 1

4

Ember.Handlebars.precompileember-handlebars / lib / ext.js#L104 )を使用して、Emberハンドルバーテンプレートをプリコンパイルできます。

ブラウザの外部(ノードなど)でのプリコンパイルに使用する基本的な戦略は次のとおりです。

  • handlebars.jsをロードします
  • ember.jsをロードする
  • Emberが期待するいくつかのブラウザーAPIを削除します(これは1.0では必要ないはずですが、今日は必要です)。
  • template = Ember.Handlebars.precompile(string)
  • Ember.TEMPLATES[name] = Ember.Handlebars.template(template)

Railsのember-railsgemは、拡張子が.のアセットがある場合にこれを行います.handlebars

gemは、他の非ブラウザー環境(ember-precompiler.jsember-rails )でプリコンパイルするために使用できるshimファイルも保持します。.js

于 2012-09-09T03:17:26.203 に答える