我最近将项目升级到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捆绑软件分析器,我可以看到所有路由模块都包含在主捆绑软件中,并且导航到这些路由时也没有发生网络活动。
有人知道我在这里想念什么吗?
答案 0 :(得分:1)
最后解决了这个问题,我需要在根级别tsconfig.json中升级目标/模块配置。
我更改了:
"target": "es5",
"module": "commonjs",
收件人:
"target": "es2015",
"module": "esnext",
现在可以延迟加载?