2015-05-06 45 views
1

有沒有最佳做法與角度有一個共同的外部JavaScript文件列表並將該列表導入到不同的模板HTML文件?這個想法是,我可以有一個全局的腳本列表,我只是將其導入到任何模板中。在前端加載一堆角度指令和其他js文件

所以基本上我想要的是一個單一的HTML文件,其中包含所有js腳本的共同點。該文件可能包含指令該角取決於即

<script src="my_script.html"> 
<script src="another_script.html"> 
<script src="angular_directive.html"> 
... 

然後我想將這些項目導入angular_template.htmlanother_angular_template.html。在前端有沒有好的方法來做到這一點?我發現的主要問題是我想在這個全局文件中包含Angular指令,但是如果你這樣做,那麼angular就不能初始化,因爲應用程序依賴於該文件中的指令。因此,像ng-include這樣的東西不會削減它。

我願意使用普通的舊javascript或jquery,如果這是必要的。我怎麼做到這一點?

+0

使用像Jade(http://jade-lang.com/)模板引擎將解決您的問題。 – DrCord

回答

2

如果這是你想要的腳本,儘量RequireJS - http://requirejs.org/docs/start.html

它不僅將處理所有的這對你身後一個包括,但它也將加載你只需要什麼,它會並行加載腳本。這裏有幾種解決方案,但我建議跳進這個來看看它是如何精美地解決的。

你最終將只有在HTML文件中一個簡單的腳本 - 是這樣的:

<script data-main="scripts/main" src="scripts/require.js"></script> 

然後你就會有一個腳本(main.js在這個例子中),將舉行配置要使用的腳本以及要保留的任何代碼屬性。你的腳本將採取這樣的感受:

define(['angular.js','myscript.js'], function() { 
    ...your dependent script goes here... 
}); 

此外,它有一個很好的配置系統,讓您可以手動設置的依賴在一個地方。那麼你幾乎可以不用我上面寫的模塊verbage了。但模塊在這裏已經有一段時間了,這是一件好事。

另外,$腳本也完全一樣。不像全功能,但它很小 - http://www.dustindiaz.com/scriptjs