【问题标题】:Can't find HttpClientModule in Angular 14在 Angular 14 中找不到 HttpClientModule
【发布时间】:2022-08-24 16:41:29
【问题描述】:

这是我的环境信息:

Angular CLI: 14.0.2
Node: 16.15.1
Package Manager: npm 8.11.0
OS: win32 x64

Angular: 14.0.2
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1400.2
@angular-devkit/build-angular   14.0.2
@angular-devkit/core            14.0.2
@angular-devkit/schematics      14.0.2
@schematics/angular             14.0.2
rxjs                            7.5.5
typescript                      4.7.4

我正在尝试添加这一行:

import { HttpClientModule } from \'@angular/common/http\';

到 app.module.ts,但 angular 说它找不到它。我尝试按照here 的建议删除 node_modules 目录,然后重新运行 npm install,但没有帮助。 Visual Studio Code 没有按照建议将文件拉回。

我确实在@angular/common 中看到了一些这样的模块将成功导入:

import { APP_BASE_HREF } from \'@angular/common\';

我对 app.module.ts 进行了以下更改,但出现错误(找不到 HttpClientModule):

import { NgModule } from \'@angular/core\';
import { BrowserModule } from \'@angular/platform-browser\';

import { AppRoutingModule } from \'./app-routing.module\';
import { AppComponent } from \'./app.component\';
import { QuoteData } from \'./quotes/quotedata\';
import { QuotesComponent } from \'./quotes/quotes.component\';
//import { HttpClientModule } from \'@angular/common\';  //Why can\'t angular find this?

@NgModule({
  declarations: [
    AppComponent,
    QuotesComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    HttpClientModule
  ],
  providers: [QuoteData],
  bootstrap: [AppComponent]
})
export class AppModule { }
  • 你说你添加了这一行:import { HttpClientModule } from \'@angular/common/http\'; 但是你发布的代码有import { HttpClientModule } from \'@angular/common\'; - 没有http。

标签: node.js angular npm


【解决方案1】:

您在顶部添加了 import 语句,但是您是否在 ngModule 导入中声明了它?此外,将来发布讨论中的代码会很有用 - 在本例中为 app.module.ts

@NgModule({
  imports: [
    BrowserModule,
    // import HttpClientModule after BrowserModule.
    HttpClientModule,
  ],
  declarations: [
    AppComponent,
  ],
  bootstrap: [ AppComponent ]
})
export class AppModule {}

【讨论】:

  • 我想我之前试过了,但我现在肯定试过了,但没有用。
  • 您必须同时拥有文件导入和 ngModule 导入。当你说“找不到httpclientModule,具体的错误是什么?
【解决方案2】:

请用
从'@angular/common/http/index'导入{ HttpClientModule};
代替
从'@angular/common/http'导入{ HttpClientModule};

【讨论】:

    猜你喜欢
    • 2018-01-23
    • 2018-11-11
    • 2018-02-07
    • 2014-12-11
    • 2019-06-16
    • 2015-01-11
    • 2018-04-30
    • 1970-01-01
    • 2022-06-23
    相关资源
    最近更新 更多