在模塊例如angular.module('app',[]);方括號是用於依賴模塊。這是必須的,如果你有任何依賴性,你必須包括在這裏,不管你是否要縮小。
爲了創建任何控制器,服務,指令和過濾器,如果您想縮小,您必須提供各自的依賴關係。如果你不想縮小它是可選的
在angular.module('app',[])。config()的情況下,它是相同的項目2,這意味着它是可選的,如果你不是打算來縮小
獎勵:
爲什麼角的需要?
讓我們嘗試瞭解角度如何檢測函數參數的依賴性。參數的排序是無用的。如果您可以更改任何參數的排序,它將毫無問題地工作。實際上,角度維護一個全局數組$注入器,它存儲在創建服務或過濾器或任何其他組件時,數組索引(對象屬性)是您提供的名稱的每個實例。例如,你創建的服務
angular.module('app',[]).service('good', function(){
});
所以角有
$injector['good'] = service/filter etc output
好了,我們回到正題。所以,當你可以嘗試在控制器中注入新創建的服務作爲參數時,angular首先找出所有提供的參數,並從$ injector中恢復它的實例[EACH_SINGLE_ARUGMENT],例如對於你的情況$ injector ['good']
但是,當你縮小你的代碼時,大部分時間都會縮小函數參數。例如,'好'將是'a'。因此角度無法檢測。這就是爲什麼角度使用這個技巧,所以當你在方形的大括號中提供你的依賴時,例如
app.controller(['good', function(good) {
}]);
由於minify腳本不會更改數組值,所以angular會從此數組中獲取名稱。因爲縮小腳本通常會做到以下幾點:
app.controller(['good', function(a) {
}]);
希望它能幫助你一點。
可能的重複[角度方括號使用的目的](http://stackoverflow.com/questions/18032068/purpose-of-square-bracket-use-in-angular) – 2015-04-02 03:59:45