[angular] Angular- “내 보낸 멤버 ‘Observable’이 없습니다”

암호

오류 정보

타입 스크립트 코드 :

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';
import { Hero } from './hero';
import { HEROES } from './mock-heroes';

@Injectable({
  providedIn: 'root'
})
export class HeroService {

  constructor() { }

  getHeroes(): Observable<Hero[]> {
    return of(HEROES);
  }

}

오류 정보 :

오류 TS2307 : ‘rxjs-compat / Observable’모듈을 찾을 수 없습니다. node_modules / rxjs / observable / of.d.ts (1,15) : 오류 TS2307 : ‘rxjs-compat / observable / of’모듈을 찾을 수 없습니다. src / app / hero.service.ts (2,10) : 오류 TS2305 : 모듈 ‘ “F : / angular-tour-of-heroes / node_modules / rxjs / Observable”‘에 내 보낸 멤버 ‘Observable’이 없습니다. src / app / hero.service.ts (15,12) : 오류 TS2304 : ‘of’이름을 찾을 수 없습니다.

package.json Angular 버전의 파일 :

버전



답변

자세한 내용 은 Angular 6 에서 도움이 될 수 있습니다이 문서를 참조하십시오

  1. rxjs : 작성 방법, 유형, 스케줄러 및 유틸리티
import {Observable, Subject, asapScheduler, pipe, from, from, interval, merge, fromEvent} from 'rxjs';
  1. rxjs / operators : 모든 파이프 가능 연산자 :
'rxjs / operators'에서 {맵, 필터, 스캔} 가져 오기;
  1. rxjs / webSocket : 웹 소켓 주제 구현
'rxjs / webSocket'에서 {webSocket} 가져 오기;
  1. rxjs / ajax : Rx 아약스 구현
'rxjs / ajax'에서 {ajax} 가져 오기;
  1. rxjs / testing : 테스트 유틸리티
'rxjs / testing'에서 import {TestScheduler};


답변

분명히 Angular 6.0.0으로 업데이트 한 후 (오류 로그에서 알 수 있듯이) rxjs-compat가 누락되었습니다.

npm install rxjs-compat --save설치를 실행하십시오 . 고쳐야합니다.


답변

그냥 넣어 :

import { Observable} from 'rxjs';

그냥 그렇게 더 많거나 적은 아무것도 없습니다.


답변

원래 코드를 import { Observable, of } from 'rxjs'로 바꾸고 문제가 해결되었습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


답변

RxJS 6을 사용하고 있습니다.

import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';

으로

import { Observable, of } from 'rxjs';


답변

이 시도:

npm install rxjs-compat --save


답변

나를 도운 것은 :

  1. 기존의 모든 가져 오기 경로를 제거하고 다음과 같이 새 경로로 바꾸십시오.

    import { Observable , BehaviorSubject } from 'rxjs';)

  2. node_modules폴더 삭제

  3. npm cache verify
  4. npm install