我正在Angular6项目中实现延迟加载技术,但对于获取“延迟”模块的语法感到困惑。
在 app.module (主模块)内部,当声明路线时,我想问以下问题:
{ path: 'lazy', loadChildren: './lazy/lazy.module#LazyModule' }
等效于以下内容:
import { LazyModule } from './lazy/lazy.module';
{ path: 'lazy', loadChildren: () => LazyModule }
通过我的眼睛,第二种方法实际上使惰性加载变得毫无用处,因为必须先导入LazyModule才能对其进行调用。在第一种方法中,我无需导入即可成功调用LazyModule。
欢迎任何帮助。
答案 0 :(得分:3)
是的,第二个解决方案实际上不是延迟加载。如您所述,延迟加载的目的不是要导入模块(就像您的第一个示例一样),否则它会包含在初始块中,因此很容易加载。
因此,您的问题的答案是:不,这两种语法不相同。