Bunu düzeltmek için güncellenmiş ve doğru çözüm
Dan cevap dayanarak Tran Quang , ben görmeye gitti CHANGELOG.md arasında ionic-native
ve son zamanlarda açısal 9 ile derlemek için kendi paketi güncellenmiş olduğunu bilmek geldi.
Bu nedenle, herhangi bir / tüm bağımlılıklarını güncellemeniz gerekir @ionic-native
. Bunun için package.gson
dosyanızla başlayan @ionic-native/
ve bunları tek tek güncelleyen tüm bağımlılıklara bakın .
Örneğin, bu benim package.gson
:
Bu yüzden tüm @ionic-native
bağımlılıklarımı güncellemek için aşağıdaki komutları çalıştırmak zorunda kaldım :
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
Aynı şekilde @ionic-native
bağımlılıklarınız için de yapmanız gerekir . Bunların minimum olarak güncellendiğinden emin olun v5.21.5
(çünkü birkaç eski sürüm çalışmadı).
Şerefe 😀🎉🎊
Herhangi bir nedenle @ionic-native
bağımlılıklarınızı güncelleyemiyorsanız, farklı geçici çözümler / çözümler için orijinal yanıtıma bakın ⬇️
Orijinal Yanıt
Benim için aşağıdaki çözümler işe yaradı. Eklemek için mükemmel olup olmadıklarından emin değilim ama İyonik ekibin bunu çözeceğini umuyorum, çünkü düz Angular uygulamamı Açısal 9'a yükselttiğimde bu çözümler gerekli değildi.
Çözüm 1
Değiştirerek AOT kapatın "aot": true
için "aot: false
de angular.json
dosyaya. Bu, Açısal uygulamanın performansını geliştirdiği ve geliştirme modunda hata kodlarının yakalanmasını geliştirdiği için bunu önermem.
Çözüm 2
Değiştirmek istemiyorsanız angular.json
ve bu sorunu ionic serve
yalnızca düzeltmek istiyorsanız , --aot=false
şu ng
komutu kullanarak bayrağını iletin --
:
ionic serve -- --aot=false
Çözüm 3 (kör seçenek)
Yukarıdaki çözümlerin hiçbiri sizin için çalışmıyorsa, npm update
tüm bağımlılıkları tam anlamıyla güncelleyecek bir komut çalıştırabilirsiniz package.json
(yani, İyonik bağımlılıklar da güncellenecektir).
Bu kör bir seçenektir, çünkü hangi bağımlılıkların güncellendiğini ve bu güncellenmiş bağımlılıklarda meydana gelen değişikliklerin neler olduğunu bilmezsiniz. Bu nedenle, bu nedenle diğer sorunları çözebilirsiniz.
Yani bu riski almak size kalmış :) Peki, uygulamanız o kadar büyük değilse veya daha yeni bağımlılıklarda kaldırılan kodları kullanmıyorsa, bu yapmaya değer.
Çözüm 4 (son ve en kötü seçenek)
Ekle import '@angular/compiler';
yılında main.ts
dosyasında. Ama bu belki bohça boyutunu artırmak.
Ekstra
Ionic'i yükseltirken, yanlış import
giriş nedeniyle başka bir sorunla karşılaşabilirsiniz polyfills.ts
. Evetse, Ionic 5'e yükselttikten sonra TypeScript derlemesinde src / zone-flags.ts eksik olduğuna bakın