【问题标题】:Appears in the NgModule.imports of AppModule, but could not be resolved to an NgModule class in angular 8出现在 AppModule 的 NgModule.imports 中,但无法解析为 Angular 8 中的 NgModule 类
【发布时间】:2020-05-31 01:21:47
【问题描述】:

node_modules/@angular/common/http/http.d.ts:2801:22 中的错误 - 错误 NG6002:出现在 AppModule 的 NgModule.imports 中,但无法解析为 NgModule 类

2801 export declare class HttpClientModule {

【问题讨论】:

标签: angular8


【解决方案1】:

我在 ubuntu 中遇到了同样的问题。但是当我使用 sudo bash 命令并执行 ng serve 时。它解决了问题

【讨论】:

    【解决方案2】:

    在 NX 工作区中工作我刚刚遇到了这个问题。

    经过大量搜索,我意识到我刚刚创建的内部库默认关闭了 Ivy。

    我在其他任何地方都有它。是的,即使是我的图书馆。它们仅在 monorepo 内部,我们不公开它们中的任何一个,因此我们不希望有额外的步骤来使用已弃用的视图引擎指令编译它们,然后在其上运行 ngcc 以将其转换为 Ivy 代码。

    结论:我只是忘了设置

      "angularCompilerOptions": {
        "enableIvy": true
      }
    

    在我新创建的库上,默认值为 false,这在我的情况下不起作用。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。我将service 添加到moduleapp.module.tsimports 数组中,而不是将其添加到providers 数组中。

      app.module.ts

      @NgModule({
        imports: [
          MyService // wrong here
        ],
        providers: [
          MyService // should add here
        ]
      })
      export class EventsModule { }
      

      【讨论】:

        【解决方案4】:

        重新启动您的服务器...

        为 Windows 终止服务器

        ctrl + C
        

        重新开始

        ng serve
        

        【讨论】:

        • 我在angular 11 遇到了同样的问题,您的解决方案解决了......谢谢:-)
        【解决方案5】:

        只需重新启动服务器(在提示符下按 ctrl+c),然后再次运行 ng serve。

        我遇到了同样的问题。然后我意识到以前我在 app.module.ts 中进行了一些更改,每次您在 app.module.ts 中进行更改时,请记住重新启动服务器进程。

        【讨论】:

          【解决方案6】:

          在 angular.json 文件中设置 "aot": false 对我有用。

          【讨论】:

          • 海量解决方案中唯一对我有用的。
          • 好吧,我收回它,它编译但现在我得到一个白页:(
          • 哇..这工作。惊人的。感谢投票。
          • 唯一对我有用的解决方案。这很奇怪,为什么它出现在我没有对设置进行任何更改时 -> 只在 ts 类中添加了一个简单的函数。
          【解决方案7】:

          我终止了当前的构建并再次重新启动它。 即ng serve 解决了我的错误。希望能帮助到你。

          【讨论】:

            【解决方案8】:

            在我的例子中,我包含了运行 Angular 服务器的 HttpClientModule 运行。 以下解决方案最适合我的情况

            只需关闭服务器,然后重新打开它。 它会起作用的。

            【讨论】:

              【解决方案9】:

              对我来说,我在模块的“导入”中声明了一个 管道。显然很多事情都会产生这个错误。我不建议你禁用 IVY,因为这不是问题。

              【讨论】:

                【解决方案10】:

                package.json 中添加"postinstall": "ngcc"scripts: {...} 然后运行npm run postinstall 即可解决问题。

                如果你还想保持 Anuglar Ivy 和 AOT 的优势

                【讨论】:

                • 谢谢。就是这样!
                【解决方案11】:

                我遇到了同样的问题。
                我正在通过 https://github.com/angular/angular/issues/35399 这里的 cmets 寻求解决方案。

                我简单地跑了ng serve --prod,错误就消失了。之后我什至跑了ng serve
                提出的其他解决方案是

                • 确保您的库的 tsconfig.json 已设置 "importHelpers": true
                • "enableIvy": false添加到tsconfig.app.json中的compilerOptions

                【讨论】:

                • 从 Angular 9 -> 10 -> 11 更新我的应用程序后,我在尝试 ng buildng serve 时收到包“ngx-lightbox”的 NG6002 错误。运行ng serve --prod 确实为我解决了这个问题,但谁能解释为什么?上面链接的 GitHub 问题有几个 cmets 表示“这对我有用”,但我没有看到任何解释。
                猜你喜欢
                • 2021-01-29
                • 2020-06-03
                • 2021-07-03
                • 2021-12-15
                • 1970-01-01
                • 2021-11-09
                • 2021-04-16
                • 2020-07-26
                • 1970-01-01
                相关资源
                最近更新 更多