5

app / Assets/templatesにあるハンドルバーテンプレートをプリコンパイルするPlayFramework2.1用のSBTプラグインを作成しようとしています。もちろん、このプラグインが完成したら共有します。このハウツーhttp://eng.netwallet.com/2012/04/25/emberhandlebars-template-precompilation-with-play/は少し時代遅れでしたが、Playに適応させるのに問題はありませんでした。2.1。

次に、単純なテンプレートファイルをコンパイルしようとしましたが、SBTは次のように失敗しました。

ember: processing template test

[error] /.../templates/test.handlebars: Compilation error[unexpected exception during Ember compilation (file=/.../templates/test.handlebars, options=List(), ember=ember-1.0.0-pre.4.js): org.mozilla.javascript.EvaluatorException: missing name after . operator (ember-1.0.0-pre.4.js#3309)]

[error] (MyProject/*:play-copy-assets) @6dap83075: Compilation error in /.../templates/test.handlebars:null

[error] (MyProject/compile:resources) @6dap83075: Compilation error in /.../templates/test.handlebars:null

3309行目のember-1.0.0-pre.4.jsにはvolatileキーワードがあり、これは明らかにRhinoで予約されています。

私はRhinoの専門家からはほど遠いので、誰かがこれを回避する方法を知っているかどうか疑問に思っていますか?現在、5*ソリューションを探していません。ほとんどの単純なハンドルバーテンプレートで機能する可能性が十分にあるソリューション(カスタムのember.jsを使用するような迅速で汚いハックでも)は機能します。機能があり、SBTプラグインがなくなったら、それを磨く必要があります。

前もって感謝します!

4

3 に答える 3

0

これは、ember が JavaScript EC3 に準拠しているため、rhino 用に予約されているキーワード volatile を使用しているためです。EC5 を使用するように rhino を設定しても効果がない

https://github.com/emberjs/ember.js/issues/1202を参照してください。

ember-1.0.rc1 では、他の予約済みキーワードを使用しているため、これはさらに悪化します。解決策は、これらのキーワードの名前を変更してカスタム ember.js ファイルを作成することです

于 2013-03-06T14:29:29.337 に答える
0

Play 2.1 の ember プリコンパイル用のプラグインが機能しています。ember-1.0.0-pre.2、ember-1.0.0-rc.1、および ember-1.0.0-rc.3 をサポートし、rhino に関連する問題を回避します。

https://github.com/krumpi/play-emberjsを参照して ください

于 2013-04-21T22:58:30.940 に答える
0

Grails 用の同等のプラグインを作成しました。rhino 1.7R4 から 1.7R2 に切り替えると、まったく同じエラーが発生します。org.mozilla:rhino:1.7R4 に切り替える必要があります。

さらに問題が発生した場合は、ソース コードを確認することをお勧めします。ここから開始できます: https://github.com/florent-blanvillain/grails-ember-templates-precompiler/blob/master/src/groovy/org/grails/plugin/ember/handlebars/Precompiler.groovy

乾杯

于 2013-02-17T15:16:44.583 に答える