Обновленное и правильное решение, чтобы исправить это
На основании ответа от 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