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
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 --save
para 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_modules
carpetanpm cache verify
npm install
fuente
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 update
fuente
Solo eliminar
/Observable
de'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-split
componente 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 update
ng update @angular/cli
fuente
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