AngularJS如何知道在哪里寻找要加载的模块?

时间:2018-05-26 19:31:18

标签: javascript angularjs

我有一个app模块,用于定义目录phonecat中的依赖关系(取自app - 教程):

app.module.js:
angular.module('phonecatApp', [
    'phoneList'                          // (*)
]);

然后,在目录app/phone-list中是模块:

phone-list/phone-list.module.js:
angular.module('phoneList', []);

和组件:

phone-list/phone-list.component.js:
angular.module('phoneList').component('phoneList', {...});

通过在phoneList的第一个代码段中注册模块(*),AngularJS如何知道从哪里获取模块?映射是从phoneListphone-list - 目录是否命名了内置功能?

2 个答案:

答案 0 :(得分:3)

AngularJS有一个模块的词典。这个词典中的关键是当您使用以下行注册时为模块提供的字符串:

angular.module('phoneList', []);

这就是为什么前一行必须始终在javascript中执行,然后才能通过添加组件(如下一行)来使用模块:

angular.module('phoneList').component('phoneList', {...});

或将您的模块注入另一个模块

angular.module('phonecatApp', [
    'phoneList'
]);

答案 1 :(得分:1)

相关模块的代码必须包含在页面中包含的脚本中。这可以通过手动添加各种脚本标记或由grunt,gulp,webpack等任务运行程序完成,为您添加它们。

如果依赖模块代码不存在,则angular将抛出错误

简单来说 - 代码来源不是角色的责任。必须存在角度才能工作