无法列出惰性路由:未知模块 './src/app/app.module#AppModule'

Failed to list lazy routes: Unknown module './src/app/app.module#AppModule'

升级到 Angular 9(从 Angular 8)和 运行ning ng build 后,我得到

ERROR in Failed to list lazy routes: Unknown module './src/app/app.module#AppModule'.

似乎找不到主应用模块。

这是我的 main.ts 文件:

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

if (environment.production) {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule)
  .catch(err => console.error(err));

我创建了一个新项目并且能够 运行 成功。

这意味着从 8 变成了 9。

我有什么想法需要改变吗?

对于通过路由器延迟加载的模块,请确保您使用的是 dynamic imports。在 v9 中删除了通过字符串导入。 ng update 应该自动处理这个问题。在 angular.io.

上了解更多信息

在你的 app-routing.module.ts 你应该有这样的东西:

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

似乎有人报告了类似的问题 here

Possible solution is to set aot: true in angular.json

P.S
查看 angular.json CLI v8 and CLI v9

之间的区别

:

  • npm install @angular/cli -g
  • ng update @angular/cli @angular/core