3

我添加了 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.tsimport AppVersion from '@ionic-native/AppVersion')中,一切正常。

有我的堆栈的版本:

离子:

离子(离子 CLI):4.1.2(/usr/local/lib/node_modules/ionic)离子框架:离子角 3.9.2 @ionic/app-scripts:3.1.11

科尔多瓦:

科尔多瓦(科尔多瓦 CLI):8.1.1(科尔多瓦-lib@8.1.0)科尔多瓦平台:android 7.1.1,ios 4.5.5科尔多瓦插件:科尔多瓦插件离子键盘2.1.3,科尔多瓦插件离子- 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 操作系统:macOS Xcode:Xcode 10.1 构建版本 10B61

4

1 回答 1

6

降级您当前的应用程序版本插件,首先删除此插件,然后再次安装此插件,如::

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

2) npm i @ionic-native/app-version@4.8.0
于 2019-01-30T09:08:51.650 回答