'@ angular / common / http'모듈을 찾을 수 없습니다.
나는 다음과 같은 오전 이 의 HTTP에 대한 각도에 기본적인 튜토리얼.
"설정 : 모듈 설치"섹션에서 볼 수 있듯이 다음과 같이 HttpClientModule을 가져옵니다.
import {HttpClientModule} from '@angular/common/http';
내 프로젝트에서이 작업을 시도하면 " '@ angular / common / http'모듈을 찾을 수 없습니다."라는 오류가 발생합니다.
다음과 같이 다음 모듈 가져 오기를 시도했습니다.
import { HttpModule } from '@angular/http';
그리고 내 수입 섹션 :
imports: [
HttpModule
],
이제 문제는이 HttpModule을 내 서비스 개체에 삽입 할 수없고 "Cannot find module HttpModule"오류가 발생한다는 것입니다.
내 서비스 클래스는 다음과 같습니다.
import { Injectable, OnInit } from '@angular/core';
//Custom Models
import { Feed } from '../Models/Feed';
@Injectable()
export class FeedsService {
constructor(private httpClient: HttpModule) {}
}
내가 도대체 뭘 잘못하고있는 겁니까?
업데이트 내가 튜토리얼에 따라 모듈을 가져올 수 깨달았을 때 내가 한 짓을한다, 실행하는 것이었다 npm update
내 모든 패키지를 업데이트, 명령을.
중요 : HttpClientModule
Angular 4.3.0 이상용입니다. 자세한 내용은 @Maximus의 의견과 @Pengyy의 답변 을 확인하십시오.
원래 답변 :
HttpClient
모듈이 아닌 컴포넌트 / 서비스 에 삽입해야 합니다. 수입 HttpClientModule
하는 경우@NgModule
// app.module.ts:
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
// Import HttpClientModule from @angular/common/http
import {HttpClientModule} from '@angular/common/http';
@NgModule({
imports: [
BrowserModule,
// Include it under 'imports' in your application module
// after BrowserModule.
HttpClientModule,
],
})
export class MyAppModule {}
그래서 변경
constructor(private httpClient: HttpModule) {}
...에
constructor(private httpClient: HttpClient) {}
문서에 쓰여진대로 : https://angular.io/guide/http#making-a-request-for-json-data
그러나 HttpModule을 가져 왔기 때문에
당신은 주입 할 필요 constructor(private httpClient: Http)
로 @Maximus 의견과에 명시된 @Pengyy 에서 이 답변 .
그리고 차이에 대한 추가 정보를 원하시면 HttpModule
과 HttpClientModule
:이 답변 확인 https://stackoverflow.com/a/45129865/5706293을
중요 업데이트 :
HttpModule
과 Http
에서가 @angular/http
된 각도 V5부터 사용되지 않습니다 , 사용하는해야 HttpClientModule
하고 HttpClient
에서 @angular/common/http
대신 참조 CHANGELOG을 .
각도 버전에 대한 내용은 **@4.3.0에서 이전 , 당신은 주입해야 Http
로부터 @angular/http
, 그리고 HttpModule
당신의 NgModule의 수입 배열에 가져 오기위한 것입니다.
import {HttpModule} from '@angular/http';
@NgModule({
...
imports: [HttpModule]
})
http
구성품 또는 서비스에 주입
import { Http } from '@angular/http';
constructor(private http: Http) {}
각도 버전 (포함) 후 4.3.0 , 당신은 사용할 수 있습니다 HttpClient
에서 @angular/common/http
대신 Http
에서 @angular/http
. 먼저의 가져 오기 배열 HttpClientModule
에서 가져 오는 것을 잊지 마십시오 NgModule
.
@echonax의 답변을 참조하십시오.
참고 : 이것은 @ angular / common / http가 아닌 @ angular / http 용입니다!
이런 식으로 가져 오기만하면 완벽하게 작동합니다.
// Import HttpModule from @angular/http
import {HttpModule} from '@angular/http';
@NgModule({
declarations: [
MyApp,
HelloIonicPage,
ItemDetailsPage,
ListPage
],
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [...],
entryComponents: [...],
providers: [... ]
})
그런 다음 service.ts에서 다음과 같이 구성합니다.
constructor(private http: Http) { }
getmyClass(): Promise<myClass[]> {
return this.http.get(URL)
.toPromise()
.then(response => response.json().data as myClass[])
.catch(this.handleError);
}
나는 문제였던 각도 5에서 http를 사용하고 있었다. Httpclient를 사용하여 문제가 해결되었습니다.
자동 수입에주의하십시오. 내 HTTP_INTERCEPTORS는 다음과 같이 자동으로 가져 왔습니다.
import { HTTP_INTERCEPTORS } from '@angular/common/http/src/interceptor';
대신에
import { HTTP_INTERCEPTORS } from '@angular/common/http';
이 오류를 일으킨
당신은 가져와야 http
에서 @angular/http
서비스에 :
import {Http} from '@angular/http';
constructor(private http: http) {} // <--Then Inject it here
// now you can use it in any function eg:
getUsers() {
return this.http.get('whateverURL');
}
Ionic 3 및 Angular 5를 사용하는 모든 사람에게 동일한 오류 팝업이 표시되었으며 여기에서 해결책을 찾지 못했습니다. 하지만 저에게 도움이되는 몇 가지 단계를 찾았습니다.
재현 단계 :
- npm install -g cordova ionic
- 이온 시작 myApp 탭
- cd myApp
- cd node_modules / angular / common (http 모듈이 없음).
ionic :( 터미널 / cmd 프롬프트에서 ionic info 실행) 버전을 확인하고 최신 버전인지 확인하십시오. 프로젝트의 package.json 폴더에서 각도 버전과 패키지를 확인할 수도 있습니다.
내 종속성과 패키지를 확인하고 Cordova를 설치했습니다. 원자를 다시 시작하고 오류가 사라졌습니다. 도움이 되었기를 바랍니다!
이것을 참조하십시오 : http : @ angular / common / http 대신 @ angular / http를 사용하지 마십시오.
이 문제가 해결 되었습니까?
이 오류가 발생합니다 : ERROR in node_modules / ngx-restangular / lib / ngx-restangular-http.d.ts (3,27) : error TS2307 : Cannot find module '@ angular / common / http / src / response'.
내 각도를 version = 8로 업데이트 한 후
참조 URL : https://stackoverflow.com/questions/45207615/cannot-find-the-angular-common-http-module
'IT이야기' 카테고리의 다른 글
==를 기본 및 boxed 값에 사용할 때, autoboxing 완료 또는 unboxing 완료 (0) | 2021.04.28 |
---|---|
Bitbucket 저장소가 "원격 : 잘못된 암호 시도 횟수가 너무 많습니다. (0) | 2021.04.28 |
Qt 기반 프로젝트에서 애플리케이션 아이콘을 설정하는 방법 (0) | 2021.04.28 |
DIV를 항상 오른쪽 상단의 화면에 떠있게 만드는 방법 (0) | 2021.04.27 |
Android에서 나침반 방위 / 방향 계산 (0) | 2021.04.27 |