Estoy tratando de actualizar mi aplicación angular 9 a la versión angular 10, pero recibo la siguiente advertencia después de la actualización
rxjs\BehaviorSubject.js depends on rxjs-compat/BehaviorSubject¿Algúna idea de cómo arreglar esto?
Cuando usa una dependencia que está empaquetada con CommonJS, puede resultar en aplicaciones más grandes y lentas
A partir de la versión 10, Angular ahora le advierte cuando su compilación incorpora uno de estos paquetes. Si ha comenzado a ver estas advertencias para sus dependencias, informe a su dependencia que preferiría un paquete de módulo ECMAScript (ESM).
Aquí hay una documentación oficial: configuración de dependencias de CommonJS
En su archivo angular.json , busque el objeto de compilación y agregue
PermitidoCommonJsDependencies
Como se muestra abajo -
"build": { "builder": "@angular-devkit/build-angular:browser", "options": { "allowedCommonJsDependencies": [ "rxjs-compat", ... few more commonjs dependencies ... ] ... } ... },intente reemplazar rxjs imports rxjs/internal/operators con rxjs/operators .
ex:
import { catchError, retry } from 'rxjs/internal/operators';con
import { catchError, retry } from 'rxjs/operators';Se recomienda que evite depender de los módulos CommonJS en sus aplicaciones Angular. Dependiendo de los módulos de CommonJS, puede evitar que los empaquetadores y los minificadores optimicen su aplicación, lo que da como resultado tamaños de paquete más grandes. En cambio, se recomienda que use módulos ECMAScript en toda su aplicación. Aún así, no le importa el tamaño de su paquete,
Para deshabilitar estas advertencias, puede agregar el nombre del módulo allowedCommonJsDependencies en las opciones de compilación ubicadas en el archivo angular.json .
"build": { "builder": "@angular-devkit/build-angular:browser", "options": { "allowedCommonJsDependencies": [ "rxjs-compat" ] ... } ... },