在Lazy加载模块中加载小角度模块



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

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

如果我创建了一个模块"a",它最终用于两个延迟加载的模块,Angular会为两个不同的延迟加载模块优化模块两次吗?当它们被加载时,Angular是否会为每个模块再次尝试加载模块"a’"。

我们使用的是Angular 8,带有typescript。此外,Angular 9会在这个问题上带来任何好处吗。

来自Angular NgModule常见问题解答:

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

这不是问题。什么时候三个模块全部导入模块"A",Angular评估模块"A一次,它第一次遇到它时,不会再这样做了。

在导入层次结构中出现的任何级别A都是如此NgModules。当模块"B"导入模块"A"时,模块"C"导入"B",模块"D"导入[C,B,A],然后"D"触发对"C",它触发对"B"的求值,后者求值为"A"。什么时候Angular得到了"D"中的"B"one_answers"A",它们已经被缓存准备出发。

Angular不喜欢使用循环引用的NgModules,所以不要让模块"A"导入模块"B",后者导入模块"A(。

最新更新