代码之家  ›  专栏  ›  技术社区  ›  Stefan Falk

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

  •  1
  • Stefan Falk  · 技术社区  · 5 年前

    升级到Angular 9(从Angular 8)并运行后 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。

    你知道我需要改变什么吗?

    1 回复  |  直到 5 年前
        1
  •  4
  •   Leandro Matilla    5 年前

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


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

    {
            path: '/',
            loadChildren: () => import('src/app/app.module').then(m => m.AppModule)
    }
    
        2
  •  2
  •   angularconsulting.au    5 年前

    似乎也有类似的报道 here

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

    附笔
    请参阅 angular.json 两者之间的差异 CLI v8 and CLI v9

    Migration tip :

    • npm安装@angular/cli-g
    • ng update@angular/cli@angular/core