AngularJS 依赖注入顺序

Order of AngularJS dependency injection

我正在阅读一本电子书来学习整个 MEAN 堆栈,但在使用 angular 时遇到了一个奇怪的问题。

具体来说,我将 angular-route 添加到我的应用程序以呈现模板。起初我无法让它工作,并多次检查代码以寻找我可能犯的任何错误。最后,我输入的主应用程序模块的两个依赖项的顺序与书中显示的顺序不同。

这没用

var mainApplicationModule = angular.module(mainApplicationModuleName, ['example', 'ngRoute']);

这有效

var mainApplicationModule = angular.module(mainApplicationModuleName, ['ngRoute', 'example']);

所以我没有确切的问题,但我想知道是否有人可以解释为什么会这样?我无法找到任何关于依赖声明顺序的信息。如果有帮助,我可以 post 更多我的代码。

这来自 Brad Dayley 关于该主题的书。 顺序很重要,因为要注入的模块(依赖项)列表必须按照“必需”的顺序。所以如果 example 模块需要 ngRoute 那么 ngRoute 必须在 example.

之前

The angular.module() method uses following syntax:

angular.module(name, [requires],[configFn])

name参数是模块在注入器服务中注册的名称。 requires 参数是添加到注入器服务供此模块使用的模块名称数组。

这个解释确实要求回答关于在更复杂的情况下 循环模块引用 的可能性。这是 David M. Karr SO Answer Link.

的一些说明