Я добавил собственный плагин AppVersion Ionic (https://ionicframework.com/docs/native/app-version#usage).
После попытки предоставить его в мой app.module.ts у меня возникла ошибка при компиляции, например «Нет провайдера для AppVersion» ...
Я думаю, что, возможно, из Ionic 4/последней версии AppVersion мне нужно следовать этим инструкциям: https://ionicframework.com/docs/native/#Add_Plugins_to_Your_App_Module, в которых говорится, чтобы предоставить плагин в app.module.ts с таким импортом:
import AppVersion from '@ionic-native/AppVersion/ngx'.
Код компилируется. Идеально. Но, к сожалению, во время выполнения у меня есть ошибка, которая говорит:
TypeError: Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["cordova"]) is not a function. (In 'Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["cordova"])(this, "getPackageName", {}, arguments)', 'Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["cordova"])' is an instance of Object)
getPackageName — index.js:28...
Итак, мое решение этой трудоемкой проблемы состояло в том, чтобы взять версию AppVersion, которая работает в другом проекте:
package.json:
...
"@ionic-native/app-version": "^4.18.0",
...
"cordova-plugin-app-version": "0.1.9",
...
При этом я могу нормально импортировать плагин в свой app.module.ts (import AppVersion from '@ionic-native/AppVersion'), и все в порядке.
Есть версии моего стека:
Ионный:
ionic (Ionic CLI): 4.1.2 (/usr/local/lib/node_modules/ionic) Ionic Framework: ионно-угловой 3.9.2 @ionic/приложения-скрипты: 3.1.11
Кордова:
кордова (CLI Cordova): 8.1.1 ([email protected]) Платформы Cordova: Android 7.1.1, iOS 4.5.5 Плагины Cordova: Cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 1.2.1 (и 8 других плагинов)
Система:
Инструменты Android SDK: 26.1.1 (/Users/maximedesogus/Library/Android/sdk/) iOS-развертывание: 1.9.4 NodeJS: v8.12.0 (/usr/local/bin/узел) нпм: 6.4.1 ОС: макОС Xcode: Xcode 10.1 Версия сборки 10B61





Понизьте плагин текущей версии приложения, чтобы сделать это, сначала удалите этот плагин, а затем снова установите этот плагин, например:
1) ionic cordova plugin add cordova-plugin-app-version
2) npm i @ionic-native/[email protected]
Спасибо чувак. Для тех, кто найдет тот же ответ, если вы используете Ionic v3, убедитесь, что вы следуете инструкциям по установке, приведенным в документах v3: ionicframework.com/docs/v3/native/версия приложения. Они специально заявляют об установке с использованием
npm install --save @ionic-native/app-version@4.