Kod maszynopisu:
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);
}
}
informacje o błędzie:
błąd TS2307: nie można znaleźć modułu „rxjs-Compatible / Observable”. node_modules / rxjs / obserable / of.d.ts (1,15): błąd TS2307: Nie można znaleźć modułu „rxjs-complement / observable / of”. src / app / hero.service.ts (2,10): błąd TS2305: Moduł '"F: / angular-tour-of-heroes / node_modules / rxjs / Observable"' nie ma wyeksportowanego elementu „Observable”. src / app / hero.service.ts (15,12): błąd TS2304: nie można znaleźć nazwy „of”.
package.json
plik z wersją Angular:
Odpowiedzi:
Może to być pomocne w Angular 6, aby uzyskać więcej informacji, zapoznaj się z tym dokumentem
źródło
Najwyraźniej (jak wskazujesz w dzienniku błędów) po aktualizacji do Angular 6.0.0 brakuje rxjs -atible.
Uruchom,
npm install rxjs-compat --save
aby zainstalować. Powinienem to naprawić.źródło
Po prostu włóż:
import { Observable} from 'rxjs';
Właśnie tak. Nic mniej więcej.
źródło
Zastąpiłem oryginalny kod
import { Observable, of } from 'rxjs'
i problem został rozwiązany.źródło
Używasz RxJS 6. Po prostu wymień
przez
źródło
Spróbuj tego:
źródło
Pomogło mi:
Pozbądź się wszystkich starych ścieżek importu i zastąp je nowymi, takimi jak ten:
import { Observable , BehaviorSubject } from 'rxjs';)
Usuń
node_modules
foldernpm cache verify
npm install
źródło
Miałem podobny problem. Wstecznie revving RXJS z 6.x do najnowszej wersji 5.x naprawił to dla Angular 5.2.x.
Otwórz plik package.json.
Zmień
"rxjs": "^6.0.0",
na"rxjs": "^5.5.10",
biegać
npm update
źródło
Po prostu usuń
/Observable
z'rxjs/Observable';
Jeśli wtedy
Cannot find module 'rxjs-compat/Observable'
po prostu umieść poniżej linii do terminala thr i naciśnij Enter.źródło
Moje postanowienie polegało na dodaniu następującego importu:
import { of } from 'rxjs/observable/of';
Zatem ogólny kod hero.service.ts po zmianie to:
źródło
angular-split
Składnik nie jest obsługiwana w kątowych 6, tak aby był on zgodny z kątowym 6 zainstalować następujące zależności w aplikacjiAby to działało, dopóki nie zostanie zaktualizowane, użyj:
źródło
W moim przypadku ten błąd występował, ponieważ miałem na komputerze starą wersję ng cli.
Problem został rozwiązany po uruchomieniu:
ng update
ng update @angular/cli
źródło
Aktualizować kątową-in-memory-web-api wersję. Domyślna wersja angular-in-memory-web-api zainstalowana podczas samouczka angular-tour-of-heroes to 0.4. W moim przypadku zadziałało jak urok. (Korzystanie z Angular 7 z RxJS 6)
źródło
posługiwać się
return Observable.of(HEROES);
źródło