我在目录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如何知道从哪里获取模块?从phoneList
到phone-list
-directory 命名的映射是内置功能吗?
AngularJS有一个模块字典。此字典中的键是您在使用以下行注册模块时为模块提供的字符串:
angular.module('phoneList', []);
这就是为什么在通过添加组件(如以下行(使用模块之前,必须始终在javascript中执行上一行:
angular.module('phoneList').component('phoneList', {...});
或者通过将模块注入另一个模块
angular.module('phonecatApp', [
'phoneList'
]);
相关模块的代码必须包含在页面中包含的脚本中。这可以通过手动添加各种脚本标签来完成,也可以通过任务运行器(如 grunt、gulp、webpack 等(为您添加它们来完成。
如果依赖模块代码不存在,角度将抛出错误
简单来说 - 代码来自哪里不是 angular 的责任。它必须已经存在才能工作