我添加了 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)离子框架:离子角 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