angular,如何组合模块

angular, how to combine modules

我有一个包含模块 mod1

的页面 html1.html
[html1.html]
<html lang="en" ng-app="mod1">
...
<script src="scripts/services/Data.js"></script>

Data.jsmod1

的工厂
[Data.js]
angular.module('mod1').factory('Data',[function(){
...
}]);

然后我在第二页 html2.html 与模块 mod2 相同,我也想使用与以前相同的工厂

[html2.html]
<html lang="en" ng-app="mod2">
...
<script src="scripts/services/Data.js"></script>
<script src="scripts/services/Train.js"></script>

Train.jsmod2 的工厂,然后合并 mod1mod2 我执行以下操作

[Train.js]
var mod2 = angular.module('mod2',[angular.module('mod1')]);
mod2.factory('Train',[function(){
...
}]);

但是 angular 没有找到模块 mod1。我错过了什么?

*html1.htmlhtml2.html 都是来自同一个 Electron 主应用程序的渲染器

模块依赖项由名称指定,因此在 Train.js

angular.module('mod2', ['mod1'])

您只需包含定义 mod1 的文件,即具有

的文件
angular.module('mod1', ['maybe', 'some', 'deps', 'here'])

您将该文件包含在 html2.html 以及任何其他带有提供程序的文件(如 Data.js)中,并且该模块中的所有内容都将可用。

可能您已经在 Data.js 或其他文件中定义了模块 mod1。像在 Train.js 中那样再次定义它会用一个新的空名称覆盖注册名称。