【问题标题】:error TS2307: Cannot find module '@angular/common/http' for HttpClientModule错误 TS2307:找不到模块 '@angular/common/http' 用于 HttpClientModule
【发布时间】:2018-01-23 02:45:44
【问题描述】:

我正在尝试在我的 app.module.ts 中使用以下行导入 HttpClientModule:

从 '@angular/common/http' 导入 { HttpClientModule };

imports: [
    ...
    HttpClientModule,
    ...
]

但是我一直收到同样的错误:

src/app/app.module.ts(4,38): 错误 TS2307: 找不到模块 '@angular/common/http'。

尽管这些教程中包含了这些确切的行:

如何解决这个问题并使用 HttpClient ?

【问题讨论】:

  • 你需要使用4.3以上的版本
  • @echonax,让我们看看它是否修复了错误)
  • 是我吗? :P 开个玩笑
  • @echonax,是的,我会的
  • @user96649 是的,将所有@angular-行更改为此版本:"@angular/common": "^4.3.4",然后运行npm install

标签: angular import


【解决方案1】:

仅在4.3 版本中添加了新的http 客户端。您可能使用的是较旧的 Angular 版本。您需要更新项目。进入package.json 并修改所有@angular/... 条目以包括^4.3.4 版本。

另外,如果您使用 SystemJS,您需要向 map 添加两个条目:

'tslib': 'npm:tslib/tslib.js',
'@angular/common/http': 'npm:@angular/common/bundles/common-http.umd.js',

另见Difference between HTTP and HTTPClient in angular 4?

【讨论】:

  • 这会删除日志中的错误,但现在我从应用程序中收到 XHR 错误:Error loading http://localhost:3000/node_modules/@angular/common/bundles/common.umd.js/http as "@angular/common/http" from http://localhost:3000/app/app.module.js
  • @user96649,你用systemjs吗?
  • 不,我是通过 git 克隆安装的,并使用 npm install。
  • 查找systemjs.config.js文件并添加'@angular/common/http': 'npm:@angular/common/bundles/common-http.umd.js',
  • 仍然没有成功:Error loading http://localhost:3000/tslib as "tslib" from http://localhost:3000/node_modules/@angular/common/bundles/common-http.umd.js
猜你喜欢
  • 1970-01-01
  • 2017-12-25
  • 2018-11-10
  • 2017-01-06
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多