Solución actualizada y correcta para solucionar esto
Sobre la base de la respuesta de Tran Quang , fui a ver el CHANGELOG.md de ionic-native
y llegué a conocer que recientemente actualizó su paquete para compilar con 9 angular.
Por lo tanto, debe actualizar cualquiera / todas las dependencias de @ionic-native
. Para esto, mire todas las dependencias en su package.gson
archivo que comienzan con @ionic-native/
y actualícelas una por una.
Por ejemplo, este es mi package.gson
:
Así que tuve que ejecutar los siguientes comandos para actualizar todas mis @ionic-native
dependencias:
npm i @ionic-native/core@latest
npm i @ionic-native/camera@latest
npm i @ionic-native/firebase-x@latest
npm i @ionic-native/splash-screen@latest
npm i @ionic-native/status-bar@latest
Lo mismo que tienes que hacer para tus @ionic-native
dependencias. Solo asegúrese de que se actualicen como mínimo v5.21.5
(porque algunas versiones antiguas no funcionaban).
Saludos 😀🎉🎊
Si por alguna razón no puede actualizar sus @ionic-native
dependencias, mire mi respuesta original para diferentes soluciones / soluciones ⬇️
Respuesta original
Para mí, las siguientes soluciones funcionaron. No estoy seguro de si son perfectos para agregar, pero espero que el equipo de Ionic arregle esto, ya que estas soluciones no eran necesarias cuando actualicé mi aplicación Angular simple a Angular 9.
Solución 1
Apague el AOT cambiando "aot": true
a "aot: false
en el angular.json
archivo. No recomendaría esto, ya que esto mejora el rendimiento de la aplicación Angular y mejora la captura de códigos de error en modo de desarrollo.
Solución 2
Si no desea cambiar angular.json
y quiere solucionar este problema ionic serve
solo, pase la --aot=false
bandera al ng
comando usando --
:
ionic serve -- --aot=false
Solución 3 (opción ciega)
Si ninguna de las soluciones anteriores funciona para usted, puede ejecutar un comando npm update
que actualizará literalmente todas las dependencias de su parte package.json
(eso significa que las dependencias iónicas también se actualizarán).
Esta es una opción ciega porque no tendrá una idea de qué dependencias se actualizan y cuáles son los cambios importantes en esas dependencias actualizadas. Por lo tanto, podría terminar arreglando otros problemas debido a esto.
Así que depende de usted correr este riesgo :) Bueno, vale la pena hacerlo si su aplicación no es tan grande o no usa ningún código que se elimine en las dependencias más nuevas.
Solución 4 (la última y peor opción)
Agregar import '@angular/compiler';
en el main.ts
archivo. Pero esto podría aumentar el tamaño del paquete.
Extra
Mientras actualiza Ionic, puede enfrentar otro problema debido a un error import
en polyfills.ts
. En caso afirmativo, echa un vistazo a src / zone-flags.ts en la compilación de TypeScript después de actualizar a Ionic 5