如何轻松高效地查看 Angular 依赖项提供的可用组件?

How can I easily and efficiently see the available components provided by Angular dependencies?

我正在查看 the tutorial here(代码转载于下方),但此问题适用于任何 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 来自哪里?另外,另一方面,有没有办法快速查看哪些工厂和服务可以从依赖项中使用?

Angular 有一个内部模块 ng,它在引导时在模块堆栈的顶部初始化。在这个ng模块中,注册了内部directive/controller/services。但是您无法查看该信息,因为 Angular 将其保密 属性 cacheProvider。最好的方法是阅读源代码。

用于您自己的模块。您可以通过 angular.module('yourModule')._invokeQueue 获得更多信息,您定义的所有内容都带有后缀 provider