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
Para Angular: detener el terminal y volver a servirlo
ng serve
resolvió el problema para mí.fuente
Intento
ng serve --aot
, me ayudó a solucionar el problema, eso es si quieres ejecutar con algo que se recomienda, ya que será similar a la compilación de producción y te ayudará a detectar errores antes.Espero que esto ayude.
Enlace angular: https://angular.io/guide/aot-compiler
fuente
Debido a que la actualización iónica no es lo suficientemente rápida, puede intentar:
npm i @ionic-native/status-bar@beta @ionic-native/splash-screen@beta @ionic-native/core@beta -S
trabaja para mí.actualización 2020/02/18 => podemos ejecutar
npm i @ionic-native/status-bar @ionic-native/splash-screen @ionic-native/core -S
ahora para obtener la última versión establefuente
necesita actualizar iónico también, funcionará. Para angular cuando se actualiza la versión, actualiza todos los dependientes. Pero en ionic necesita actualizarse manualmente.
fuente
Correr
npm update
solucionó el problema para mí.fuente
npm update
literalmente actualizará todas y cada una de las dependencias y no tendrá una idea de qué está actualizado y qué no. Eso también podría conducir a otros errores.