When I recently read the Angular2's doc, it says like this:
What if I import the same module twice?
That's not a problem. When three modules all import Module 'A', Angular evaluates Module 'A' once, the first time it encounters it, and doesn't do so > again.
That's true at whatever level A appears in a hierarchy of imported modules. > When Module 'B' imports Module 'A', Module 'C' imports 'B', and Module 'D' imports [C, B, A], then 'D' triggers the evaluation of 'C', which triggers the evaluation of 'B', which evaluates 'A'. When Angular gets to the 'B' and 'A' in 'D', they're already cached and ready to go.
Angular doesn't like modules with circular references, so don't let Module 'A'......
But I assume the above is stated in the context of all Eager Loading Modules. I doubt if this holds true in a Lazy-load module, for example, If AppModule and a lazy-load feature module both imports a same module(e.g. ModuleA), would ModuleA be loaded twice?
What I think is: two module instance of ModuleA type would be created when AppModule and the lazy-load module loading. Is my understanding correct? Could someone help me clarify it? Thank you in advance.