【问题标题】:"Error: AccountRoutingModule is not an NgModule"“错误:AccountRoutingModule 不是 NgModule”
【发布时间】:2024-01-21 14:19:01
【问题描述】:

将我的Angular 2.2.3 应用程序从Angular CLI 2.0.0-beta.21 升级到Angular CLI 2.0.0-beta.22-1,我的ng build 现在失败了:

Error: AccountRoutingModule is not an NgModule
    at AotPlugin.getNgModuleMetadata (/home/jan/src/fm-repos/fm-ui/node_modules/@ngtools/webpack/src/plugin.js:332:19)
    at /home/jan/src/fm-repos/fm-ui/node_modules/@ngtools/webpack/src/plugin.js:345:51
    at Array.map (native)
    at AotPlugin.extractLoadChildren (/home/jan/src/fm-repos/fm-ui/node_modules/@ngtools/webpack/src/plugin.js:343:14)
    at /home/jan/src/fm-repos/fm-ui/node_modules/@ngtools/webpack/src/plugin.js:346:30
    at Array.map (native)
    at AotPlugin.extractLoadChildren (/home/jan/src/fm-repos/fm-ui/node_modules/@ngtools/webpack/src/plugin.js:343:14)
    at AotPlugin._processNgModule (/home/jan/src/fm-repos/fm-ui/node_modules/@ngtools/webpack/src/plugin.js:272:38)
    at /home/jan/src/fm-repos/fm-ui/node_modules/@ngtools/webpack/src/plugin.js:242:39
    at process._tickCallback (internal/process/next_tick.js:103:7)

使用Angular CLI 2.0.0-beta.21 构建并运行良好的应用程序;但是,Angular CLI 2.0.0-beta.22-1 现在默认使用 AoT 而不是 JiT。

【问题讨论】:

  • 想解释否决票?

标签: angular angular2-cli


【解决方案1】:

当我在 package.json 的 devDependencies 部分更改这一行时,发生了类似的错误:

"typescript": "~2.0.0", 至 “打字稿”:“~2.1.4”,

尝试使用最新(当时)版本的 TypeScript。

当我“拨回一点”时: “打字稿”:“~2.0.10”,

错误消失了。

我希望这会有所帮助。

【讨论】:

    【解决方案2】:

    AccountRoutingModule 更改为:

    import { ModuleWithProviders } from '@angular/core';
    

    到:

    import { NgModule } from '@angular/core';
    

    【讨论】: