Оновлено та правильне рішення, щоб виправити це
На підставі відповіді від Tran Quang , я пішов до CHANGELOG.md з ionic-native
і дізнався , що вони недавно оновили свій пакет для компіляції з кутовими 9.
Отже, вам потрібно оновити будь-які / всі залежності @ionic-native
. Для цього подивіться на всі залежності у вашому package.gson
файлі, які починаються з них, @ionic-native/
і оновлюйте їх по черзі.
Наприклад, це моє package.gson
:
Тому мені довелося виконати наступні команди, щоб оновити всі мої @ionic-native
залежності:
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
Те саме ви маєте зробити для своїх @ionic-native
залежностей. Просто переконайтеся, що вони оновлюються мінімум до v5.21.5
(оскільки кілька старих версій не працювали).
Ура 😀🎉🎊
Якщо з якихось причин ви не можете оновити свої @ionic-native
залежності, подивіться на мою оригінальну відповідь щодо різних способів вирішення /
Оригінальний відповідь
Для мене спрацювали наступні рішення. Не впевнений, чи їх ідеально додати, але сподіваюся, що команда Ionic це виправить, оскільки ці рішення не потрібні були, коли я модернізував звичайний додаток Angular до Angular 9.
Рішення 1
Вимкніть АОТ шляхом зміни "aot": true
в "aot: false
в angular.json
файлі. Я б не рекомендував цього, оскільки це покращує продуктивність програми Angular та покращує введення кодів помилок у режимі розробки.
Рішення 2
Якщо ви не хочете змінюватись angular.json
і хочете виправити цю проблему ionic serve
лише для цього , передайте --aot=false
прапор ng
команді за допомогою --
:
ionic serve -- --aot=false
Рішення 3 (сліпий варіант)
Якщо жодне з вищезгаданих рішень не працює для вас, ви можете запустити команду, npm update
яка буде оновлювати буквально всі залежності від ваших package.json
(це означає, що іонічні залежності також будуть оновлені).
Це сліпий варіант, тому що ви не матимете уявлення про те, які залежності оновлюються та які суттєві зміни в цих оновлених залежностях. Тому ви можете вирішити інші проблеми через це.
Отже, ви ризикуєте взяти цей ризик :) Ну, це варто зробити, якщо ваш додаток не настільки великий чи не використовуєте жодних кодів, які видаляються в нових залежностях.
Рішення 4 (останній і найгірший варіант)
Додати import '@angular/compiler';
у main.ts
файл. Але це може збільшити розмір пакета.
Додатково
При оновленні іонного, ви можете зіткнутися з іншим питанням з - за неправильні import
в polyfills.ts
. Якщо так, перевірте src / zone-flags.ts відсутній у компіляції TypeScript після оновлення до Ionic 5