加载两次当我最近读了Angular2的doc,它说是这样的:会在模块中延迟加载模块
如果我导入同一模块的两倍?
这不是一个问题。当三个模块全部导入模块'A'时,Angular 对模块'A'进行一次评估,第一次遇到它时,再次不这样做。
这在任何A级中的导入模块层次结构出现是真的。 >当模块'B'导入模块'A'时,模块'C'导入'B',模块'D'导入[C,B,A],然后'D'触发'C'的评估,触发'B'的评估,评估'A'。 当Angular在'D'中获得'B'和'A'时,它们已经被缓存并准备好去。
角不喜欢与循环引用模块,所以不要让模块“A” ......
但我假定上述在所有预先加载模块的上下文中说明。我怀疑这是否适用于Lazy-load模块,例如,如果AppModule和延迟加载功能模块都导入同一模块(例如ModuleA),ModuleA是否会加载两次?
我想的是:ModuleA类型的两个模块实例将被创建时的AppModule和延迟加载模块的加载。我的理解是否正确?有人可以帮我澄清一下吗?先谢谢你。