Ich bin neu in Typescript. Ich habe gerade ein Ionic 1.2.4 (Angular) Projekt mit Typescript gestartet. Wenn transpiling, erhalte ich die Fehlermeldung Property 'Keyboard' does not exist on type 'CordovaPlugins'
aufgrund der folgenden Funktion angular.module.run()
in einer Datei übergeben run.ts
Cordova Plugins in Ionic 1 App mit Typoskript
///<reference path="../../typings/tsd.d.ts"/>
export function onRun($ionicPlatform) {
$ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if (window.StatusBar) {
StatusBar.styleDefault();
}
})
}
Das cordova Plugin tatsächlich installiert ist, und es ist Typ-Definitionsdatei existiert auf jeden Fall. Hier ist die Datei tsd.d.ts
.
/// <reference path="angularjs/angular.d.ts" />
/// <reference path="cordova/cordova.d.ts" />
/// <reference path="cordova/plugins/BatteryStatus.d.ts" />
/// <reference path="cordova/plugins/Camera.d.ts" />
/// <reference path="cordova/plugins/Contacts.d.ts" />
/// <reference path="cordova/plugins/Device.d.ts" />
/// <reference path="cordova/plugins/DeviceMotion.d.ts" />
/// <reference path="cordova/plugins/DeviceOrientation.d.ts" />
/// <reference path="cordova/plugins/Dialogs.d.ts" />
/// <reference path="cordova/plugins/FileSystem.d.ts" />
/// <reference path="cordova/plugins/FileTransfer.d.ts" />
/// <reference path="cordova/plugins/Globalization.d.ts" />
/// <reference path="cordova/plugins/InAppBrowser.d.ts" />
/// <reference path="cordova/plugins/Keyboard.d.ts" />
/// <reference path="cordova/plugins/Media.d.ts" />
/// <reference path="cordova/plugins/MediaCapture.d.ts" />
/// <reference path="cordova/plugins/NetworkInformation.d.ts" />
/// <reference path="cordova/plugins/Push.d.ts" />
/// <reference path="cordova/plugins/Splashscreen.d.ts" />
/// <reference path="cordova/plugins/StatusBar.d.ts" />
/// <reference path="cordova/plugins/Vibration.d.ts" />
/// <reference path="cordova/plugins/WebSQL.d.ts" />
/// <reference path="ionic/ionic.d.ts" />
/// <reference path="jquery/jquery.d.ts" />
Ich habe versucht, auch direkt in run.ts
die Typdefinition für Tastatur platzieren. ///<reference path="../../typings/cordova/plugins/Keyboard.d.ts"/>
Ich erwarte nicht, dass das Plugin sich tatsächlich registriert, weil 'cordova.js' erst verfügbar ist, wenn die App gebaut/gepackt wurde. Ich würde jedoch gerne wissen, wie Typescript zu erkennen, dass Keyboard
tatsächlich auf cordova.plugins
über Typ Defs existiert. Wie kann ich sonst diesen Fehler während der Transpilation vermeiden?
Äquivalenter Befehl für [typings] (https://github.com/typings/typings): 'types install dt ~ cordova-ionic --global --save' – rinogo