source

각도 - "내보낸 멤버 '관측 가능' 없음"

lovecheck 2023. 3. 13. 20:34
반응형

각도 - "내보낸 멤버 '관측 가능' 없음"

코드

에러 정보

타이프 스크립트코드:

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-compatible/Observatible'을 찾을 수 없습니다.node_modules/rxjs/observatable/of.d.ts(1,15): 오류 TS2307: 모듈 'rxjs-compatible/observatible/of.'를 찾을 수 없습니다.src/app/heero.service.ts(2,10): 오류 TS2305: 모듈 'F:/angular-tour-of-hor-hor-hor-modes/js'

package.jsonAngular 버전의 파일:

버전

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

  1. rxjs: 작성 방법, 유형, 스케줄러 및 유틸리티
{ 관찰 가능, 제목, asapScheduler, 파이프, 간격, 병합, 이벤트 }의 'rxjs'에서 가져오기;
  1. rxjs/module:파이프 가능한 모든 연산자:
{map, filter, scan}을(를) 'mapjs/map'에서 가져옵니다.
  1. rxjs/webSocket:웹 소켓의 서브젝트
'rxjs/webSocket'에서 {webSocket} Import;
  1. rxjs/module:Rx ajax 구현
'sqs/sqs'에서 {ajax} 가져오기;
  1. rxjs/module:테스트 유틸리티
rxjs/testing'에서 {TestScheduler} Import;

Angular 6.0.0 rxjs-compative로 업데이트한 후(에러 로그에서 지적한 바와 같이) 누락된 것 같습니다.

달려.npm install rxjs-compat --save인스톨 합니다.고쳐야 해.

그냥 넣어주세요.

import { Observable} from 'rxjs';

바로 그것처럼.그 이상도 이하도 아니다.

원래 코드를 로 교체했습니다.import { Observable, of } from 'rxjs', 그러면 문제가 해결됩니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

RxJ 6을 사용하고 있습니다. 교체만 하면 됩니다.

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

타고

import { Observable, of } from 'rxjs';

이것을 시험해 보세요.

npm install rxjs-compat --save

도움이 된 것은 다음과 같습니다.

  1. 오래된 Import 경로를 모두 삭제하고 다음과 같은 새 Import 경로로 바꿉니다.

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

  2. 삭제node_modules폴더

  3. npm cache verify
  4. npm install

저도 비슷한 문제가 있었어요.RXJS를 6.x에서 최신 5.x 릴리스로 역수정하여 Angular 5.2.x로 수정하였습니다.

package.json을 엽니다.

바꾸다"rxjs": "^6.0.0",로."rxjs": "^5.5.10",

달려.npm update

제거만 하면 됩니다./Observable부터'rxjs/Observable';

그 때, 그 때,Cannot find module 'rxjs-compat/Observable'바로 아래 줄을 터미널에 입력하고 Enter 키를 누릅니다.

npm install --save rxjs-compat

해상도는 다음과 같은 Import를 추가하는 것이었습니다.import { of } from 'rxjs/observable/of';

변경 후의 hero.service.ts의 전체 코드는 다음과 같습니다.

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

@Injectable()
export class HeroService {

  constructor() { }

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

angular-splitAngular 6에서는 컴포넌트가 지원되지 않으므로 어플리케이션 의존성에 따라 Angular 6 설치와 호환되도록 합니다.

업데이트될 때까지 이 기능을 사용하려면 다음을 사용하십시오.

"dependencies": {
"angular-split": "1.0.0-rc.3",
"rxjs": "^6.2.2",
    "rxjs-compat": "^6.2.2",
}

rxjs 라이브러리를 설치하지 않았습니다. 설치하십시오.

npm install rxjs-compat --save

제 경우 컴퓨터에 오래된 버전의 ng cli가 있기 때문에 이 오류가 발생하고 있었습니다.

실행 후 문제가 해결되었습니다.

ng update

ng update @angular/cli

angular-in-memory-web-api 버전을 업데이트합니다.튜토리얼의 angular-in-memory-web-api에서 설치된 기본 angular-in-memory-web-api 버전은 0.4였습니다.내 경우엔 아주 잘 작동했어.(RxJs 6에 Angular 7 사용)

npm i angular-in-memory-web-api@0.8.0

Just Run(저스트 런)

npm i rxjs 호환

난 이거면 돼

return Observable.of(HEROES);

언급URL : https://stackoverflow.com/questions/49840152/angular-has-no-exported-member-observable

반응형