Angular2 延迟加载语法

Angular2 Lazy Loading syntax

我正在 Angular6 项目中实现延迟加载技术,但我对获取 "lazy" 模块的语法感到困惑。

app.module(主模块)中,在声明路由时,我想问一下:

{ path: 'lazy', loadChildren: './lazy/lazy.module#LazyModule' }

等同于:

import { LazyModule } from './lazy/lazy.module';

{ path: 'lazy', loadChildren: () => LazyModule }

在我看来,第二种方法实际上使延迟加载变得无用,因为必须已经导入 LazyModule 才能调用它。在第一种方法中,我成功调用了 LazyModule 而无需导入它。

欢迎任何帮助。

你说得对,第二种方案其实不是懒加载。正如你所说,延迟加载的目的不是导入模块(就像你的第一个例子),否则它包含在初始块中,因此被急切加载。

所以你的问题的答案是:不,这两种语法不等价。