新loadChildren中的Angular 8延迟加载模块不会延迟加载语法

时间:2019-06-05 09:17:23

标签: angular angular8

我最近将项目升级到Angular 8,我尝试将loadChildren导入切换为新语法

例如来自:

loadChildren: './maintenance/maintenance.module#MaintenanceModule',

收件人:

loadChildren:() => import('./maintenance/maintenance.module').then(m => m.MaintenanceModule),

应用路由的创建方式如下:

@NgModule({
  imports: [
    RouterModule.forRoot(appRoutes, {
      scrollPositionRestoration: 'enabled',
      enableTracing: false,
    }),
  ],
  exports: [RouterModule],
})
export class AppRoutingModule { }

但是,在构建项目时,似乎没有模块被延迟加载。使用Webpack捆绑软件分析器,我可以看到所有路由模块都包含在主捆绑软件中,并且导航到这些路由时也没有发生网络活动。

有人知道我在这里想念什么吗?

1 个答案:

答案 0 :(得分:1)

最后解决了这个问题,我需要在根级别tsconfig.json中升级目标/模块配置。

我更改了:

"target": "es5",
"module": "commonjs",

收件人:

"target": "es2015",
"module": "esnext",

现在可以延迟加载?