我正在尝试为 PlayFramework 2.1 编写一个 SBT 插件,它将预编译位于 app/assets/templates 中的车把模板。我当然会在完成后分享这个插件。我发现这个方法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 中保留的。
我远不是犀牛专家,这就是为什么我想知道是否有人知道解决这个问题的方法?我现在不是在寻找 5* 解决方案。任何有可能适用于大多数简单车把模板的解决方案(即使是快速而肮脏的 hack,比如使用自定义的 ember.js)都可以工作,一旦功能存在并且 SBT 插件出来,我们会担心对其进行优化。
提前致谢!