首页 > 解决方案 > 可以在 Angular 8 中预加载延迟加载的模块吗?

问题描述

我知道当一个应用程序有很多部件和组件时,最好将它们分成延迟加载的模块,这样用户就可以快速看到应用程序主页。

问题是我注意到导航到延迟加载模块的组件显示用户交互(单击按钮/菜单)和显示组件时(与非延迟加载组件相比)之间存在一些滞后。

有没有办法手动预加载延迟加载的模块?所以假设用户看到主屏幕,如果 3 秒内没有任何操作,则在后台加载我的一些关键应用程序模块。

标签: angular

解决方案


您可以通过设置 而不是所有模块使用该preload策略仅用于一个模块。data: { preload: true }PreloadAllModules

{
  path: 'crisis-center',
  loadChildren: () => import('./crisis-center/crisis-center.module').then(mod => mod.CrisisCenterModule),
  data: { preload: true }
},

推荐阅读