Angular 未能列出延迟路由:未知模块'/src/app/app.module#AppModule';

Angular 未能列出延迟路由:未知模块'/src/app/app.module#AppModule';,angular,angular-cli,Angular,Angular Cli,升级到Angular 9(从Angular 8)并运行ng build 未能列出延迟路由时出错:未知模块。/src/app/app.module#AppModule。 似乎找不到主应用程序模块 这是我的main.ts文件: 从'@angular/core'导入{enableProdMode}; 从“@angular/platformBrowserDynamic”导入{platformBrowserDynamic}; 从“./app/app.module”导入{AppModule}; 从“./e

升级到Angular 9(从Angular 8)并运行
ng build

未能列出延迟路由时出错:未知模块。/src/app/app.module#AppModule。 似乎找不到主应用程序模块

这是我的main.ts文件:

从'@angular/core'导入{enableProdMode};
从“@angular/platformBrowserDynamic”导入{platformBrowserDynamic};
从“./app/app.module”导入{AppModule};
从“./environments/environment”导入{environment};
if(环境、生产){
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err=>console.error(err));
我已经创建了一个新项目,并且能够成功地运行它

这意味着从8变为9


您知道我需要更改什么吗?

对于通过路由器延迟加载的模块,请确保您正在使用。在v9中删除了通过字符串导入。ng更新应自动处理此问题。了解有关angular.io的更多信息


在你的
应用程序routing.module.ts
中,你应该有这样的东西:

{
        path: '/',
        loadChildren: () => import('src/app/app.module').then(m => m.AppModule)
}

似乎也有类似的报道

可能的解决方案是在angular.json中设置
aot:true

p.S
请参见


动态导入
不是v9的功能,它从v8开始就存在。如果是这种情况,他应该得到一个编译错误,但这是一个运行时错误。另外,如果您确实像
ng update@angular/core
那样升级了原理图,它会自动处理
动态导入
迁移。这确实是不同事物的组合。在我的例子中,angular.json和package.json必须更新,以使所有内容都能再次工作。