Código mecanografiado:
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);
}
}
información de error:
error TS2307: No se puede encontrar el módulo 'rxjs-compat / Observable'. node_modules / rxjs / observable / of.d.ts (1,15): error TS2307: No se puede encontrar el módulo 'rxjs-compat / observable / of'. src / app / hero.service.ts (2,10): error TS2305: El módulo '"F: / angular-tour-of-heroes / node_modules / rxjs / Observable"' no tiene ningún miembro exportado 'Observable'. src / app / hero.service.ts (15,12): error TS2304: No se puede encontrar el nombre 'de'.
package.json archivo con versión angular:




Respuestas:
Esto podría ser útil en Angular 6 para obtener más información, consulte este documento
import {Observable, Subject, asapScheduler, pipe, of, from, interval, merge, fromEvent} from 'rxjs';importar {mapa, filtro, escaneo} desde 'rxjs / operadores';importar {webSocket} desde 'rxjs / webSocket';importar {ajax} desde 'rxjs / ajax';importar {TestScheduler} desde 'rxjs / testing';fuente
Aparentemente (como señala en el registro de errores), después de actualizar a Angular 6.0.0 rxjs-compat falta.
Ejecutar
npm install rxjs-compat --savepara instalar. Debería arreglarlo.fuente
Sólo hay que poner:
import { Observable} from 'rxjs';Así. Nada mas ni menos.
fuente
Reemplacé el código original con
import { Observable, of } from 'rxjs', y el problema está resuelto.fuente
Estás utilizando RxJS 6. Simplemente reemplaza
por
fuente
Prueba esto:
fuente
Lo que me ayudó es:
Deshágase de todas las rutas de importación antiguas y reemplácelas por otras nuevas como esta:
import { Observable , BehaviorSubject } from 'rxjs';)Eliminar
node_modulescarpetanpm cache verifynpm installfuente
Tuve un problema similar RXJS de retroceso de 6.x a la última versión 5.x lo arregló para Angular 5.2.x.
Abra package.json.
Cambiar
"rxjs": "^6.0.0",a"rxjs": "^5.5.10",correr
npm updatefuente
Solo eliminar
/Observablede'rxjs/Observable';Si luego se
Cannot find module 'rxjs-compat/Observable'pone debajo de la línea al terminal thr y presiona enter.fuente
Mi resolución fue agregar la siguiente importación:
import { of } from 'rxjs/observable/of';Entonces, el código general de hero.service.ts después del cambio es:
fuente
El
angular-splitcomponente no es compatible con Angular 6, por lo que para que sea compatible con Angular 6, instale después de la dependencia en su aplicaciónPara que esto funcione hasta que se actualice use:
fuente
En mi caso, este error estaba ocurriendo porque tenía una versión antigua de ng cli en mi computadora.
El problema se resolvió después de ejecutar:
ng updateng update @angular/clifuente
Actualice la versión angular-in-memory-web-api . La versión predeterminada de angular-in-memory-web-api instalada durante el tutorial angular-tour-of-heroes era 0.4. Funcionó de maravilla en mi caso. (Usando Angular 7 con RxJS 6)
fuente
utilizar
return Observable.of(HEROES);fuente