可以在 Angular 8 中预加载延迟加载的模块吗?

dis*_*nte 4 angular

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

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

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

Sac*_*aka 5

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

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