我添加了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.ts
(import 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
答案 0 :(得分:4)
降级您当前的App版本插件,要先删除该插件,然后再安装该插件,例如:
1) ionic cordova plugin add cordova-plugin-app-version
2) npm i @ionic-native/app-version@4.8.0