2016-01-15 15 views
7

Typescriptを初めて使用しています。私はTypescriptを使ってIonic 1.2.4(Angular)プロジェクトを開始しました。 transpilingとき、私が原因コルドバプラグインが実際にインストールされているファイルrun.tsIonic 1アプリのCordovaプラグイン(Typescriptを使用)

///<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(); 
    } 
    }) 
} 

angular.module.run()に渡され、次の機能にエラーメッセージProperty 'Keyboard' does not exist on type 'CordovaPlugins'を受け取り、それがタイプ定義ファイルは間違いなく存在しているのです。ここにファイル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" /> 

キーボードのタイプ定義を直接run.tsに配置しようとしました。 ///<reference path="../../typings/cordova/plugins/Keyboard.d.ts"/>

プラグインが実際に登録されることは期待していません。「cordova.js」は、アプリケーションのビルド/パッケージ化が完了するまで利用できないためです。しかし、私はTypescriptにKeyboardが実際にタイプdefs経由でcordova.pluginsに存在することを認識させる方法を知りたいと思います。それ以外の場合は、蒸散中にこのエラーを回避するにはどうすればよいですか?

答えて

11

タイプスクリプトの定義をインストールするときに、cordova-ionicをインストールしませんでした。 「標準」コードバスキーボードプラグインは、コードバスイオンキーボードプラグインとは異なります。

tsd install cordova-ionic --save問題を修正しました。

おっと。

+2

[typings](https://github.com/typings/typings)に相当するコマンド: 'typings install dt〜cordova-ionic --global --save' – rinogo