找不到'@ angular/http'模块?

use*_*655 12 angular

我systemjs.config.js在Angular 2应用程序中将以下属性添加到我的地图对象:

'@angular/http': 'https://npmcdn.com/@angular/http'
Run Code Online (Sandbox Code Playgroud)

当我按住Ctrl键点击它时,它会尝试下载一个js文件.但是,当我尝试从@angular/http我的service.ts顶部的' ' 导入时,编译器返回错误" Cannot find module '@angular/http'.`"

为了让我的角度应用识别和使用这个模块,我还缺少一个额外的步骤吗?我正在使用Angular版本2.0.0-rc.4.

Roh*_*ani 59

在终端运行:

npm install @angular/http@latest
Run Code Online (Sandbox Code Playgroud)

  • `http` 在 Angular 5 中已被弃用,然后被删除。对于 Angular >= 4.3,必须使用 `HttpClient` (参见下面 @DevGaud 的回答) (2认同)

Dev*_*aud 27

整个@angular/http 包已被删除。使用@angular/common/http。所以不要导入这个

'@angular/http'
Run Code Online (Sandbox Code Playgroud)

用这个

'@angular/common/http'
Run Code Online (Sandbox Code Playgroud)

有关其他更改的更多信息,请访问Angular-Deprecated APIs and Features

  • 它有效,但我还必须在 Angular 8 中将 `import { Http }` 更改为 `import { HttpClient }`。最终语法:`import { HttpClient } from '@angular/common/http'` (4认同)

ton*_*nes 8

您是否尝试过添加

"@angular/http": "^7.1.1",
Run Code Online (Sandbox Code Playgroud)

到您的package.json文件?运行npm install之后,您应该会很高兴。


May*_*ner 7

你需要有最新版本的http。在终端中尝试以下命令,希望这能解决您的问题...

npm install @angular/http@latest
Run Code Online (Sandbox Code Playgroud)


Ami*_*ghe 7

1.这对我有用。尝试安装最新的 angular http

npm install @angular/http@latest
Run Code Online (Sandbox Code Playgroud)

2.也可以尝试使用

'@angular/common/http'
Run Code Online (Sandbox Code Playgroud)

而不是这个

'@angular/http'
Run Code Online (Sandbox Code Playgroud)

第二种选择的原因是

从版本 8.0.0开始,以下 API 已被删除:

包装 API 更换说明

@angular/http
Run Code Online (Sandbox Code Playgroud)

所有导出替换为

@angular/common/http
Run Code Online (Sandbox Code Playgroud)


小智 6

import { HttpClient } from '@angular/common/http';
Run Code Online (Sandbox Code Playgroud)

代替

import { Http } from '@angular/http';
Run Code Online (Sandbox Code Playgroud)

在 app.module.ts 中:

import { HttpClientModule } from '@angular/common/http';
Run Code Online (Sandbox Code Playgroud)


小智 5

我使用下面的命令& “找不到模块'@angular/http'”问题得到解决。

npm install @angular/http@latest


San*_*ket 0

CDN 路径是 - https://npmcdn.com/@angular/http@2.0.0-rc.4/

默认情况下,在此路径中systemjs.config.js查找。index.js

请参阅此plunker示例 - https://angular.io/resources/live-examples/quickstart/ts/plnkr.html

另外,请确保在导入时使用以下语法 -

import { Http } from '@angular/http';
Run Code Online (Sandbox Code Playgroud)

看看这是否有帮助。