出现在AppModule的NgModule.imports中,但无法解析为角度8中的NgModule类

时间:2020-02-15 14:57:51

标签: angular8

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

2801 export declare class HttpClientModule {

11 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:6)

重新启动服务器...

终止Windows服务器

ctrl + C

重新开始

ng serve

答案 2 :(得分:5)

我遇到了同样的问题。
我正在这里https://github.com/angular/angular/issues/35399进行评论,以寻求解决方案。

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

  • 确保您的库的tsconfig.json设置了“ importHelpers”:true
  • 将tsconfig.app.json中的"enableIvy": false添加到compileOptions

答案 3 :(得分:3)

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

答案 4 :(得分:2)

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

如果您仍然想保留Anuglar Ivy和AOT的优势

答案 5 :(得分:2)

设置“ aot”:angular.json文件中的false对我有用。

答案 6 :(得分:1)

就我而言,我包括了运行Angular服务器的 HttpClientModule 。 以下解决方案最适合我的情况

只需关闭服务器,然后重新打开它即可。 它将起作用。

答案 7 :(得分:1)

我终止了当前版本,然后再次重新启动。 即ng serve解决了我的错误。希望能帮助到你。

答案 8 :(得分:0)

我遇到了同样的问题。我正在将service添加到module,即app.module.ts的{​​{1}}数组中,而不是将其添加到imports数组中。

providers

app.module.ts

答案 9 :(得分:0)

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

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

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

结论:我只是忘了设置

  "angularCompilerOptions": {
    "enableIvy": true
  }

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

答案 10 :(得分:0)

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