Angular LoadChildren字符串格式已弃用,但函数格式导致错误

时间:2019-05-21 17:25:00

标签: angular angular-cli angular-router

Angular 8(现在到期)由于使用以下字符串格式来路由LoadChildren而弃用:    https://next.angular.io/api/router/LoadChildren中的type LoadChildren = LoadChildrenCallback | DeprecatedLoadChildren;

在使用JIT的DEV中,一切都很好,但是在尝试路由到该模块时,--prod中使用AOT的延迟加载模块会引发以下错误:

ERROR Error: Uncaught (in promise): Error: Runtime compiler is not loaded

我现在可以继续使用字符串格式并忽略弃用警告,但是最好能绕过弃用警告以及具有正常功能的代码。

工作字符串方法:

{
   path: 'admin',
   loadChildren: './admin/admin.module#AdminModule'
},

故障功能方法:

{
   path: 'admin', 
   loadChildren: ():Promise<typeof AdminModule> =>
       import('./admin/admin.module').then(m => m.AdminModule)
},

我最近的几个beta和rc都遇到了这个问题。

还有其他人找到解决方法吗?

1 个答案:

答案 0 :(得分:0)

这是known issue。看起来像新的IVY renderer could provide a solution