AngularJsのloader.jsを読んだ際のメモ
loader.suffix
setupModuleLoader(window)
loader.suffixでsetupModuleLoader(window);が実行される。
window.angularオブジェクトを作成する。
angular.module(name, requires, configFn)を生成する。
angular.module(name, requires, configFn)を返す。
下記の関数を多用している。
module(name, requires, configFn)
angular.moduleの実体
configFnはmodule.config()と同じ
requiresが存在するとmodulesのキャッシュをクリアする。
moduleInstance (ensure(modules, name, function() {)を返す。
moduleInstanceのインスタンスメソッドを以下のように登録している。
invokeLater(provider, method, insertMethod, queue)
moduleのインスタンスメソッドがinvokeQueueにロードするデータを登録する関数を返す。
invokeQueueはinjector.jsのloadModules(modulesToLoad)内のrunInvokeQueue(queue)で実行される。