1
我使用的是預編譯模板,有以下幾個原因:如何使用Ember使用handlebars命令行生成的模板?
- 性能(無需在運行時重新編譯)
- 代碼分離(清潔不是嵌入
<script>
標籤和JS硬編碼) - 內容安全政策(這是爲了擴展)。
基本上,我通過handlebars command line utility基於幾個template.handlebars
文件生成templates.js
。接下來,我嘗試將這些模板爲灰燼與下面的循環:
for (var name in Handlebars.templates) {
var template = Handlebars.templates[name];
Ember.TEMPLATES[name] = template;
}
結果是奇怪的:文字似乎被加載,但很多模板的功能(如{{outlet}}
。)不工作。我懷疑這是因爲把手和灰燼把手不是一回事。
我想有兩個選項(和問題):
- 預編譯灰燼友好的模板(我怎麼可以通過命令行做到這一點?)
- 正確導入把手模板成灰燼(怎麼樣? )
UPDATE:根據答案,Ember.Handlebars是不一樣的把手,所以預編譯是不同的。編寫了一個簡單的腳本來預編譯Ember:https://gist.github.com/3723927