使用this answer中的概念我有像这样的
动态角度模块加载this.loader.load('app/lazy/lazy.module#LazyModule').then((moduleFactory: NgModuleFactory<any>) => {
const entryComponent = (<any>moduleFactory.moduleType).entry;
const moduleRef = moduleFactory.create(this.inj);
const compFactory = moduleRef.componentFactoryResolver.resolveComponentFactory(entryComponent);
this.container.createComponent(compFactory);
});
我没有使用loadChildren,我已经设置了ViewChild,SystemJsNgModuleLoader和NgModuleFactory,因为今天早些时候已经成功加载了。重启后,我在标题中收到错误。
我尝试过没有运气重启服务。为什么角度突然无法在重启后突然无法找到懒惰的模块,只需15分钟且两者之间没有代码更改?
编辑:好的哇,让它重新工作但现在有了一个新问题。我把providers: [
SystemJsNgModuleLoader,
provideRoutes([
{ loadChildren: 'app/lazy/lazy.module#LazyModule' }
])
]
app.module.ts中的,它会在根目录中打破应用程序,而不是在它到达工厂加载程序时(我认为因为我使用的是单独的app.routing文件而且角度不会感谢多条路线?)但是然后,当我删除它时,懒人模块再次出现!
重新启动ng服务然后再次丢弃它,所以在其他地方我可以提供将使用单独路由的提供路由吗?当我在app.module中使用provideRoutes进行编译时,我可以猿掉任何被更改的内容吗?
答案 0 :(得分:0)
想出了解决方案,只是添加了一条未使用的路由到根路由器。
{
path: 'discovery/lazy',
loadChildren: 'app/lazy-module/lazy.module#LazyModule'
}