angular - swagger codegen --> angular6: error de compilación de observable de rxjs
Al usar Angular 6 y swagger codegen, estoy obteniendo errores del compilador de TypeScript relacionados con rxjs:
No se puede encontrar el módulo 'rxjs-compat/Observable'
Encontré lo siguiente https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#rxjs-v5x-to-v6-update-guide
Estoy usando swagger-codegen: stable 2.3.1 en una Mac (instalado con brew).
Agradezco cualquier orientación.
Actualizar -----------------------
Agregué rxjs-compat a mi proyecto angular6 usando
npm install --save-dev rxjs-compat
Ahora recibo advertencias del compilador, pero los errores del compilador han desaparecido y el proyecto parece ejecutarse
Respuesta #1
Si estás migrando desde una versión anterior de Angular, sigue la siguiente guía:
https://update.angular.io/
El paquete rxjs-compat sirve para tener compatibilidad con implementaciones anteriores de rxjs. Por ejemplo:
import { concat } from 'rxjs/observable/concat'Sin embargo, eso debería actualizarse a la nueva implementación que viene con la versión 6. Por ejemplo:
import { catchError, map, switchMap } from 'rxjs/operators';Dicho esto. También tienes que cambiar la implementación de tus operadores observables usando pipe. Por ejemplo:
this.sampleService
.search(
payload.firstName,
payload.lastName,
payload.dateOfBirth
)
.pipe(
map(response => new sampleActions.SearchSuccess(response.json())),
catchError(error => of(new sampleActions.SearchFail(error)))
)
Como puedes ver, los operadores map y catchError tienen una implementación diferente, usando el operador pipe.
Quizás puedas compartir una copia de los registros, así será más fácil entender qué está causando errores/advertencias.
Respuesta #2
Yo estaba enfrentando el mismo problema.
Incluso al reemplazar el generador swagger con la versión 2.4 no se solucionó el problema, la solución temporal que encontré fue agregar rxjscompat al proyecto: npm install rxjs-compat@6
Ver más detalles sobre la discusión: https://github.com/swagger-api/swagger-codegen/issues/8179#issuecomment-402575414
