Soluzione aggiornata e corretta per risolvere questo problema
Sulla base della risposta di Tran Quang , sono andato a vedere CHANGELOG.md di ionic-nativee sono venuto a sapere che hanno recentemente aggiornato il loro pacchetto per compilare con Angular 9.
Quindi è necessario aggiornare qualsiasi / tutte le dipendenze di @ionic-native. Per questo, guarda tutte le dipendenze nel tuo package.gsonfile che iniziano con @ionic-native/e aggiornale una per una.
Ad esempio, questo è il mio package.gson:

Quindi ho dovuto eseguire i seguenti comandi per aggiornare tutte le mie @ionic-nativedipendenze:
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 stesso devi fare per le tue @ionic-nativedipendenze. Assicurati solo che quelli siano aggiornati al minimo v5.21.5(perché alcune vecchie versioni non funzionavano).
Saluti 😀🎉🎊
Se per qualche motivo, non puoi aggiornare le tue @ionic-nativedipendenze, guarda la mia risposta originale per soluzioni / soluzioni alternative ⬇️
Risposta originale
Per me, le seguenti soluzioni hanno funzionato. Non sono sicuro che siano perfetti da aggiungere, ma spero che il team Ionic lo risolva poiché queste soluzioni non erano necessarie quando ho aggiornato la mia semplice app Angular ad Angular 9.
Soluzione 1
Disattiva l'AOT passando "aot": truea "aot: falsenel angular.jsonfile. Non lo consiglierei in quanto ciò migliora le prestazioni dell'app Angular e migliora la cattura dei codici di errore in modalità di sviluppo.
Soluzione 2
Se non si desidera cambiare angular.jsone si desidera risolvere solo questo problema ionic serve, passare il --aot=falseflag al ngcomando utilizzando --:
ionic serve -- --aot=false
Soluzione 3 (opzione cieca)
Se nessuna delle soluzioni sopra funziona per te, puoi eseguire un comando npm updateche aggiornerà letteralmente tutte le dipendenze dalla tua package.json(ciò significa che anche le dipendenze ioniche verranno aggiornate).
Questa è un'opzione cieca perché non avrai idea di quali dipendenze vengono aggiornate e quali sono le modifiche di rottura in tali dipendenze aggiornate. Quindi potresti finire per risolvere altri problemi a causa di questo.
Quindi spetta a te correre questo rischio :) Bene, vale la pena farlo se la tua app non è così grande o non utilizza alcun codice che viene rimosso nelle dipendenze più recenti.
Soluzione 4 (l'ultima e la peggiore opzione)
Aggiungi import '@angular/compiler';nel main.tsfile. Ma questo potrebbe aumentare le dimensioni del pacchetto.
Extra
Mentre l'aggiornamento ionica, si potrebbe affrontare un altro problema a causa di sbagliato importin polyfills.ts. Se sì, controlla src / zone-flags.ts mancante dalla compilazione TypeScript dopo l'aggiornamento a Ionic 5