ИСПРАВЛЕНО - Как решить проблему, указав '@ ionic-native / AppVersion' или '... / ngx' и вызвав исключение при вызове любых методов AppVersion? - PullRequest
0 голосов
/ 29 января 2019

Я добавил собственный плагин 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') и все в порядке.

Есть версии моего стека:

Ионные:

Ионные (ИонныеCLI): 4.1.2 (/ usr / local / lib / node_modules / ionic) Ionic Framework: ионно-угловой 3.9.2 @ ionic / app-scripts: 3.1.11

Cordova:

Cordova (Cordova CLI): 8.1.1 (cordova-lib@8.1.0) Cordova Платформы: android 7.1.1, ios 4.5.5 CordovaПлагины: cordova-plugin-ionic-клавиатура 2.1.3, cordova-plugin-ionic-webview 1.2.1, (и 8 других плагинов)

Система:

Инструменты Android SDK: 26.1.1 (/ Users / maximedesogus / Library / Android / sdk /) ios-deploy: 1.9.4 NodeJS: v8.12.0 (/ usr / local / bin / node) npm: 6.4.1 ОС: macOSXcode: Xcode 10.1, сборка 10B61

1 Ответ

0 голосов
/ 30 января 2019

Понизьте версию своего текущего плагина приложения, для этого сначала удалите этот плагин, после чего установите этот плагин снова, как ::

1) ionic cordova plugin add cordova-plugin-app-version 

2) npm i @ionic-native/app-version@4.8.0
...