有什么方法可以预编译 Handlebars 模板,以便它了解 Ember.js 助手,如“action”、“view”等?
我问的原因是因为我需要将 Ember.js 与 Handlebars 的仅运行时版本一起使用(由于 Google Chrome 中的 CSP),而且 Ember.js 似乎目前并不完全支持这种情况: https: //github.com/emberjs/ember.js/issues/1303
有什么方法可以预编译 Handlebars 模板,以便它了解 Ember.js 助手,如“action”、“view”等?
我问的原因是因为我需要将 Ember.js 与 Handlebars 的仅运行时版本一起使用(由于 Google Chrome 中的 CSP),而且 Ember.js 似乎目前并不完全支持这种情况: https: //github.com/emberjs/ember.js/issues/1303
Ember.Handlebars.precompile
您可以使用( ember-handlebars/lib/ext.js#L104 )预编译 Ember Handlebars 模板。
用于在浏览器外部(例如在节点中)进行预编译的基本策略是:
template = Ember.Handlebars.precompile(string)
Ember.TEMPLATES[name] = Ember.Handlebars.template(template)
如果您拥有带有扩展名的资产,Rails的ember-rails
gem 会为您执行此操作.handlebars
。
ember-rails
gem 还维护一个 shim文件,您可以使用该.js
文件在其他非浏览器环境中进行预编译(ember-precompiler.js)。