example angular typescript rxjs angular6 rxjs6

angular - example - rxjs pipe



Angular: "no tiene ningĂșn miembro exportado ''Observable''" (14)

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ó como un encanto en mi caso. (Usando Angular 7 con RxJS 6)

npm i [email protected]

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''.

archivo package.json con versión angular:


Aparentemente (como señala en el registro de errores), después de actualizar a Angular 6.0.0 rxjs-compat falta.

Ejecute npm install rxjs-compat --save to install. Debería arreglarlo.


El componente de angular-split no es compatible con Angular 6, por lo que para que sea compatible con la instalación de Angular 6 después de la dependencia en su aplicación

Para que esto funcione hasta que se actualice use:

"dependencies": { "angular-split": "1.0.0-rc.3", "rxjs": "^6.2.2", "rxjs-compat": "^6.2.2", }


En mi caso, este error estaba ocurriendo porque tenía una versión anterior de ng cli en mi computadora.

El problema se resolvió después de ejecutar:

ng update

ng update @angular/cli


Estás utilizando RxJS 6. Simplemente reemplaza

import { Observable } from ''rxjs/Observable''; import { of } from ''rxjs/observable/of'';

por

import { Observable, of } from ''rxjs'';


Esto podría ser útil en Angular 6 para obtener más información, consulte este Document

  1. rxjs: métodos de creación, tipos, planificadores y utilidades

import { Observable, Subject, asapScheduler, pipe, of, from, interval, merge, fromEvent } from ''rxjs'';

  1. rxjs / operadores : Todos los operadores canalizables:

import { map, filter, scan } from ''rxjs/operators'';

  1. rxjs / webSocket: la implementación del tema del socket web

import { webSocket } from ''rxjs/webSocket'';

  1. rxjs / ajax : la implementación de Rx ajax

import { ajax } from ''rxjs/ajax'';

  1. rxjs / testing : las utilidades de prueba

import { TestScheduler } from ''rxjs/testing'';


Lo que me ayudó es:

  1. Deshágase de todas las rutas de importación antiguas y reemplácelas por otras nuevas como esta:

    import { Observable , BehaviorSubject } from ''rxjs'';)

  2. Eliminar la carpeta node_modules

  3. npm cache verify
  4. npm install

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:

import { Injectable } from ''@angular/core''; import { Hero } from ''./hero''; import { HEROES } from ''./mock-heroes''; import { of } from ''rxjs/observable/of''; import {Observable} from ''rxjs/Observable''; @Injectable() export class HeroService { constructor() { } getHeroes(): Observable<Hero[]> { return of(HEROES); } }


Prueba esto:

npm install rxjs-compat --save


Sólo hay que poner:

import { Observable} from ''rxjs'';

Así. Nada mas ni menos.


Simplemente elimine /Observable de ''rxjs/Observable'';

Si luego obtiene Cannot find module ''rxjs-compat/Observable'' se Cannot find module ''rxjs-compat/Observable'' simplemente coloque debajo de la línea al terminal thr y presione enter.

npm install --save rxjs-compat


Tuve un problema similar. RXJS de retroceso de 6.x a la última versión 5.x lo reparó para Angular 5.2.x.

Abra package.json.

Cambie "rxjs": "^6.0.0", a "rxjs": "^5.5.10",

ejecutar npm update


use return Observable.of(HEROES);


import { Observable, of } from ''rxjs'' el código original con import { Observable, of } from ''rxjs'' , y el problema está resuelto.