Typoskript-Code:
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);
}
}
Fehlerinfo:
Fehler TS2307: Modul 'rxjs-compatible / Observable' kann nicht gefunden werden. node_modules / rxjs / beobachtbar / of.d.ts (1,15): Fehler TS2307: Modul 'rxjs-kompatibel / beobachtbar / von' kann nicht gefunden werden. src / app / hero.service.ts (2,10): Fehler TS2305: Modul '"F: / Winkeltour der Helden / Knotenmodule / rxjs / Observable"' hat kein exportiertes Mitglied 'Observable'. src / app / hero.service.ts (15,12): Fehler TS2304: Name 'von' kann nicht gefunden werden.
package.json
Datei mit Angular-Version:
Antworten:
Dies kann in Angular 6 hilfreich sein. Weitere Informationen finden Sie in diesem Dokument
quelle
Anscheinend (wie Sie im Fehlerprotokoll zeigen) fehlt nach dem Update auf Angular 6.0.0 rxjs-compatible.
Führen Sie
npm install rxjs-compat --save
zu installieren. Sollte es reparieren.quelle
Einfach ausgedrückt:
import { Observable} from 'rxjs';
Genau so. Nichts mehr oder weniger.
quelle
Ich habe den ursprünglichen Code durch ersetzt
import { Observable, of } from 'rxjs'
und das Problem ist gelöst.quelle
Sie verwenden RxJS 6. Ersetzen Sie es einfach
durch
quelle
Versuche dies:
quelle
Was mir geholfen hat ist:
Entfernen Sie alle alten Importpfade und ersetzen Sie sie durch neue wie folgt:
import { Observable , BehaviorSubject } from 'rxjs';)
node_modules
Ordner löschennpm cache verify
npm install
quelle
Ich hatte ein ähnliches Problem. Durch das Zurückdrehen von RXJS von 6.x auf die neueste Version 5.x wurde das Problem für Angular 5.2.x behoben.
Öffnen Sie package.json.
Wechseln Sie
"rxjs": "^6.0.0",
zu"rxjs": "^5.5.10",
Lauf
npm update
quelle
Einfach entfernen
/Observable
von'rxjs/Observable';
Wenn Sie dann
Cannot find module 'rxjs-compat/Observable'
einfach unter die Zeile zum Terminal kommen und die Eingabetaste drücken.quelle
Mein Vorsatz war das Hinzufügen des folgenden Imports:
import { of } from 'rxjs/observable/of';
Der Gesamtcode von hero.service.ts nach der Änderung lautet also:
quelle
Die
angular-split
Komponente wird in Angular 6 nicht unterstützt, damit sie nach der Abhängigkeit in Ihrer Anwendung mit der Installation von Angular 6 kompatibel istDamit dies funktioniert, bis es aktualisiert ist, verwenden Sie:
quelle
In meinem Fall trat dieser Fehler auf, weil ich eine alte Version von ng cli auf meinem Computer hatte.
Das Problem wurde nach dem Ausführen behoben:
ng update
ng update @angular/cli
quelle
Aktualisieren Sie die Angular-In-Memory-Web-API- Version. Die Standardversion von Angular-in-Memory-Web-API, die während des Tutorials Angular-Tour-of-Heroes installiert wurde, war 0,4. In meinem Fall hat es wie ein Zauber gewirkt. (Verwenden von Angular 7 mit RxJS 6)
quelle
verwenden
return Observable.of(HEROES);
quelle