繁体   English   中英

在延迟加载的模块中加载小型 Angular 模块

[英]Loading small Angular Modules in Lazy loaded modules

我在 Angular (CustomCoreModule) 中创建了一个模块,该模块已在一段时间内增长,导致性能问题并使应用程序非模块化且不可维护。

我决定创建小模块并在需要的地方导入它们,而不是加载一个大模块(这会减小包大小)。

如果我创建了一个模块“A”,最终在两个延迟加载的模块中使用,Angular 是否会为两个不同的延迟加载模块优化模块两次,当它们被加载时,Angular 是否会尝试再次加载模块“A”每个模块。

我们使用 Angular 8 和 typescript。 此外,Angular 9 是否会为这个问题带来任何好处。

来自Angular NgModule 常见问题解答

如果我两次导入同一个模块怎么办?

这不是问题。 当三个模块都导入模块'A'时,Angular 评估模块'A'一次,这是它第一次遇到它,并且不再这样做。

在导入的 NgModules 的层次结构中出现的任何级别 A 都是如此。 当模块'B'导入模块'A',模块'C'导入'B',模块'D'导入[C,B,A],然后'D'触发'C'的评估,这触发评估'B',它评估'A'。 当 Angular 到达“D”中的“B”和“A”时,它们已经被缓存并准备好进入 go。

Angular 不喜欢带有循环引用的 NgModules,所以不要让 Module 'A' 导入 Module 'B',它会导入 Module 'A'。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM