Ответ 1
Блоки конфигурации и блоки запуска выполняются в разных точках бутстрапа приложения и имеют в своем распоряжении разные локаторы инъекций. Вот краткое описание того, что вы можете найти в документации AngularJS.
Блоки конфигурации (зарегистрированные с помощью module.config()
) выполняются во время регистрации провайдера и могут быть введены только поставщиками и константами (см. module.provider()
и module.constant()
). Обычно вы должны настраивать все приложения, такие как $routeProvider
. Материал, который необходимо настроить до создания служб.
Блоки запуска (зарегистрированные с module.run()
) выполняются после того, как инжектор имеет всех поставщиков. Теперь все инстанции и константы могут быть введены. Обычно вы должны настраивать службы, $rootScope
, события и т.д.
У вас может быть несколько, и они выполняются в том порядке, в котором они были зарегистрированы в модуле. Некоторые люди предпочитают регистрировать блок конфигурации перед каждой группой контроллеров, чтобы зарегистрировать маршруты к этому контроллеру, например.