問題タブ [ionic-plugins]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 「@ionic-native/AppVersion」または「.../ngx」を提供し、AppVersion のメソッドを呼び出すときに例外が発生することによる問題を修正するにはどうすればよいですか?
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_Moduleapp.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:
app.module.tsこれで、プラグインを my ( )に正常にインポートできimport AppVersion from '@ionic-native/AppVersion'、すべて問題ありません。
私のスタックのバージョンがあります:
イオン:
ionic (Ionic CLI): 4.1.2 (/usr/local/lib/node_modules/ionic) Ionic フレームワーク: ionic-angular 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 (/Users/maximedesogus/Library/Android/sdk/) ios-deploy: 1.9.4 NodeJS: v8.12.0 (/usr/local/bin/node) npm: 6.4.1 OS: macOS Xcode : Xcode 10.1 ビルド バージョン 10B61