2014-07-13 72 views
0

所以我一直在想,如果我將所有模板寫入單個文件,Ember會在加載應用程序時立即加載所有這些模板嗎?Emberjs:一次加載所有模板

說,我這index.html

<! -- Added all dependecies of Ember --> 
<script type="text/x-handlebars" > 
This is application template 
</script> 

<script type="text/x-handlebars" id="about"> 
This is about template 
</script> 

而且我的application.js

App = Ember.Application.create(); 

App.Router.map(function(){ 
this.resouce('about'); 
}); 

所以,可以說,我訪問index.html所以是about模板已經加載在這個時候? ,我的意思是我自然假設它是GET頁面index.html並從中提取句柄模板,因此應用程序啓動時應該加載index.html中定義的所有模板。這是正確的嗎? ,將不同的模板潛入不同的文件將糾正這一點?

回答

1

是的,所有的模板都可以在啓動時使用上述方式。

如果你想分開模板進行開發。只需將模板分成不同的'hbs'文件並使用grunt precompiler任務,該任務將所有模板編譯爲可包含在index.html中的單個js文件。大多數應用程序只需預編譯和連接所有模板和js文件。

如果您考慮延遲加載模板文件,您可能需要自己實現該機制。 Matthew Beale explains on lazy loading stuff in ember

對於應用程序結構和組織,您應該仔細研究ember-cli