Как я могу легко и эффективно увидеть доступные компоненты, предоставляемые зависимостями Angular?

Я просматриваю руководство здесь (код воспроизведен ниже), но этот вопрос применим к любому приложению Angular.

Вопрос в следующем: когда я либо программирую приложение Angular, либо просматриваю чье-то еще, я часто вижу используемые переменные, которые, кажется, нигде не объявлены. Кажется, что они появляются из ниоткуда и вызывают много путаницы. Конечно, эти переменные становятся фабриками, службами, константами и т. д. в зависимостях, указанных при создании приложения.

Например здесь:

angular.module('myApp', ['ngRoute'])
.config(function($routeProvider) {
  $routeProvider.when('/', {
    controller: 'WelcomeController',
    template: 'views/welcome.html'
  });
})
.config(function(ConnectionProvider) {
  ConnectionProvider.setApiKey('SOME_API_KEY');
})

Как, черт возьми, в большом приложении я узнаю, что $routeProvider произошло из ngRoute или откуда взялось ConnectionProvider? Кроме того, с другой стороны, есть ли способ быстро просмотреть, какие фабрики и сервисы доступны для использования из зависимостей?


person CodyBugstein    schedule 11.01.2015    source источник


Ответы (1)


Angular имеет внутренний модуль ng, который инициализируется в верхней части стека модулей при начальной загрузке. В этом модуле ng регистрируются внутренние директивы/контроллеры/службы. Но вы не можете просмотреть эту информацию, так как Angular хранит ее как частную собственность cacheProvider. Однако лучший способ — прочитать исходный код.

Для собственного модуля. вы можете получить немного больше информации с помощью angular.module('yourModule')._invokeQueue, все, что вы определили, хранится там с суффиксом provider

person hjl    schedule 11.01.2015