角度 5 延迟加载与动态加载

Posted

技术标签:

【中文标题】角度 5 延迟加载与动态加载【英文标题】:angular 5 lazy loading vs dynamic loading 【发布时间】:2018-07-23 19:49:39 【问题描述】:

有人可以解释 Angular 5 中延迟加载模块和动态组件加载之间的区别吗?我很难弄清楚何时使用什么。你能为每个人提供一个用例,以便我更好地理解它们吗?我对 Angular 5 很陌生...我知道延迟加载与模块有关,而动态组件加载与组件有关。

【问题讨论】:

【参考方案1】:

使用延迟加载模块,浏览器只会在用户第一次导航到他们的路线时加载功能。当您将组件直接添加到您的路线时,无论您是否在任何特定路线中,它们都会被加载,因此就性能和初始包大小而言,延迟加载功能总是好的。

参考:https://alligator.io/angular/lazy-loading/

【讨论】:

【参考方案2】:

延迟加载模块可加快我们的应用程序启动时间,其功能可缩短加载时间并提高性能。

延迟加载会创建多个包,并在浏览器运行时按需加载它们。

如果我们将所有组件和模板加载到一个大包中,则会导致性能大幅下降。

【讨论】:

【参考方案3】:

'dynamic loading''lazy loading' 是行为的不同术语。两者都是有条件地加载到网站上 - 例如。当用户点击modal-button 时,我们想要加载modal 的代码——这是动态行为。也可以说modal是在用户点击按钮时延迟加载的。

祝你好运……

【讨论】:

以上是关于角度 5 延迟加载与动态加载的主要内容,如果未能解决你的问题,请参考以下文章

没有路由器的角度延迟加载模块

角度 5 中具有相同 URL 的两个不同组件(通过延迟加载在路由器中传递 slug)

角度延迟加载会破坏骨架加载动画

如何使用 mongodb 数据延迟加载角度

Angular 2 延迟加载技术

React.lazy与Suspence实现延迟加载