已解决-如何解决由于提供'@ ionic-native / AppVersion'或'... / ngx'并在调用任何AppVersion方法时出现异常而导致的问题?

时间:2019-01-29 11:51:09

标签: angular ionic-framework ionic3 ionic-plugins

我添加了AppVersion Ionic本机插件(https://ionicframework.com/docs/native/app-version#usage)。 尝试将其提供给我的app.module.ts后,我在编译时出错,例如“ AppVersion不存在提供程序” ...

我认为可能是从Apponic的Ionic 4 /最新版本开始,我需要遵循以下说明: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')中,一切正常。

有我的堆栈版本:

离子:

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

科尔多瓦:

cordova(Cordova CLI):8.1.1(cordova-lib@8.1.0)    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(/用户/ maximedesogus /库/ Android / sdk /)    ios部署:1.9.4    NodeJS:v8.12.0(/ usr / local / bin / node)    npm:6.4.1    作业系统:macOS    Xcode:Xcode 10.1 Build版本10B61

1 个答案:

答案 0 :(得分:4)

降级您当前的App版本插件,要先删除该插件,然后再安装该插件,例如:

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

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