Code dactylographié:
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);
}
}
info d'erreur:
erreur TS2307: Impossible de trouver le module 'rxjs-compat / Observable'. node_modules / rxjs / observable / of.d.ts (1,15): erreur TS2307: Impossible de trouver le module 'rxjs-compat / observable / of'. src / app / hero.service.ts (2,10): erreur TS2305: Le module '"F: / angular-tour-of-heroes / node_modules / rxjs / Observable"' n'a pas de membre exporté 'Observable'. src / app / hero.service.ts (15,12): erreur TS2304: Impossible de trouver le nom «de».
package.json
fichier avec la version angulaire:
Réponses:
Cela peut être utile dans Angular 6 pour plus d'informations, reportez-vous à ce document
la source
Apparemment (comme vous le pointez dans le journal des erreurs), après la mise à jour vers Angular 6.0.0, rxjs-compat est manquant.
Exécutez
npm install rxjs-compat --save
pour installer. Devrait le réparer.la source
Mettez simplement:
import { Observable} from 'rxjs';
Juste comme ça. Rien de plus ou de moins.
la source
J'ai remplacé le code d'origine par
import { Observable, of } from 'rxjs'
, et le problème est résolu.la source
Vous utilisez RxJS 6. Remplacez simplement
par
la source
Essaye ça:
la source
Ce qui m'a aidé, c'est:
Débarrassez-vous de tous les anciens chemins d'importation et remplacez-les par de nouveaux comme ceci:
import { Observable , BehaviorSubject } from 'rxjs';)
Supprimer le
node_modules
dossiernpm cache verify
npm install
la source
J'ai eu un problème similaire. Le retour en arrière de RXJS de 6.x à la dernière version 5.x l'a corrigé pour Angular 5.2.x.
Ouvrez package.json.
Changer
"rxjs": "^6.0.0",
pour"rxjs": "^5.5.10",
courir
npm update
la source
Retirez simplement
/Observable
de'rxjs/Observable';
Si vous obtenez ensuite
Cannot find module 'rxjs-compat/Observable'
juste mis en dessous de la ligne au terminal thr et appuyez sur Entrée.la source
Ma résolution ajoutait l'importation suivante:
import { of } from 'rxjs/observable/of';
Ainsi, le code global de hero.service.ts après le changement est:
la source
Le
angular-split
composant n'est pas pris en charge dans Angular 6, donc pour le rendre compatible avec Angular 6, installez en suivant la dépendance dans votre applicationPour que cela fonctionne jusqu'à sa mise à jour, utilisez:
la source
Dans mon cas, cette erreur se produisait parce que j'avais une ancienne version de ng cli sur mon ordinateur.
Le problème a été résolu après l'exécution:
ng update
ng update @angular/cli
la source
Mettez à jour la version angular-in-memory-web-api . La version angular-in-memory-web-api par défaut installée pendant le didacticiel angular-tour-of-heroes était de 0,4. Cela a fonctionné comme un charme dans mon cas. (Utilisation d'Angular 7 avec RxJS 6)
la source
utilisation
return Observable.of(HEROES);
la source