2

我刚刚注意到 Angular 8(即将发布)已弃用“字符串类型的路由器loadChildren”。(

我是否正确理解他们指的是......

const routes = [
  {
    path: 'production',
    loadChildren: './production/production.module#ProductionModule' // <<--this
  }],

要迁移到 Angular 8,解决方案是什么?

在票证中,他们指的是“动态导入”。我是否正确,这是指以下提议:

let module = await import('/modules/my-module.js');

如果我们将来想使用延迟加载,有人可以预览一下路由文件的实际外观吗?

4

2 回答 2

6

由于 loadChildren:string 在角度 8 中已弃用更改您的 loadChildren 声明

loadChildren: './production/production.module#ProductionModule'

loadChildren: () => import('./production/production.module').then(m => m.ProductionModule)

有关更多信息,您可以参考 Angular 官方git 链接提交

于 2019-06-01T20:18:00.710 回答
2

显然,不"loadChildren" : ...推荐使用的并不是全部。它只是不再接受字符串。相反,您现在必须指定一个函数。

该文档已在此处提供。

它归结为:

const routes = [
  {
    path: 'lazy',
    loadChildren : () => import('./production/production.module').then(m => m.ProductionModule),
  }
];
于 2019-05-23T09:54:18.907 回答