是否需要在Angular应用模块中包含所有功能模块?

时间:2018-08-10 23:28:30

标签: angular typescript

在此示例中,我试图找出它们如何摆脱不包含两个主要模块(CrisisCenterModule和AdminModule)的情况:

https://stackblitz.com/angular/moybyqrjdeom

是否不需要将功能模块添加到app.module?在大多数情况下,人们都这样做。

1 个答案:

答案 0 :(得分:4)

因为您在路由中使用lazy load module。是的,您不需要导入到App模块。路由器将为您完成

{
  path: 'admin',
  loadChildren: 'app/admin/admin.module#AdminModule',
  canLoad: [AuthGuard]
}

这在具有许多子模块的大型项目中很有用,并且您不想一次加载所有页面。在后台,项目的源代码将被编译成与每个模块相对应的许多js文件。首次进入模块路径时,将下载并初始化它们。

在小型项目中,一次加载所有模块不会花费很多时间。由于网络延迟,延迟加载可能会变慢。