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



我在目录app中有一个定义依赖项的应用程序模块(取自phonecat-Tutorial(:

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-directory 命名的映射是内置功能吗?

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

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

这就是为什么在通过添加组件(如以下行(使用模块之前,必须始终在javascript中执行上一行:

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

或者通过将模块注入另一个模块

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

相关模块的代码必须包含在页面中包含的脚本中。这可以通过手动添加各种脚本标签来完成,也可以通过任务运行器(如 grunt、gulp、webpack 等(为您添加它们来完成。

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

简单来说 - 代码来自哪里不是 angular 的责任。它必须已经存在才能工作

最新更新