web-dev-qa-db-ja.com

Chromeのcordova-plugin-file:cordovaが定義されていません

ionicアプリで画像をダウンロードしてローカルに保存するには、cordova-plugin-fileを使用します。

エミュレーターやiPhoneで実行してもエラーは発生しませんが、Chromeでテストするとcordova is not definedアクセスしようとしたときcordova.file.dataDirectory

Chromeでcordova-plugin-fileをどのように実行できますか?

10
Sato

Cordovaはブラウザーで使用できなくなります。お使いのデバイスでのみ。

index.htmlには、このスクリプト参照が必要です。

<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>

メモにあるように、スクリプトは開発中は利用できません。ビルドプロセス中に置き換えられます。

あなたはそれを自分で試すことができます:

cordova platform add Android

その後

cordova build

そして、あなたはplatforms\Android\assets\www 2つのjsファイル:cordova.jsおよびcordova_plugins.js

別のオプションは、ブラウザをプラットフォームとして追加することです:

cordova platform add browser

そしてそれを実行します:

cordova run browser

しかし、いくつかの問題に直面する可能性があります。

32
LeftyX

あなたが簡単にできることは、テストのためにルートディレクトリにcordova.jsを自分でコピーすることです。ファイルは、たとえばディレクトリにあります

cordova-project/platforms/ios/platform_www

簡単にコピーできます。これを行うと、cordovaオブジェクトが使用可能になり、コードでアクセスできます。

cordova.file.dataDirectory

Cordovaアプリケーションのデバッグとテストに適したアプローチは、CordovaブラウザープラグインとPhonegapを組み合わせてインストールし、

phonegap serve browser 

コマンド。そうすれば、コンピューターでアプリケーションを簡単にテストでき、デバイスに送信する必要がありません。上記のcordova.file.dataDirectoryは、ご使用のコンピューターでは使用できないことに注意してください。一部のプラグインは、ブラウザーでそれらをテストできるブラウザープラットフォームのプロキシを提供します。私にとって、phonegap serveブラウザーの良いところは、コードを編集して保存し、ブラウザーを再ロードするときに変更が反映されることです。

コード変更のリフレクションを機能させるには、もう1つポイントを言及する必要があります。

.cordova

cordovaプロジェクトのルートフォルダー内のディレクトリ。次に、以下のコンテンツを含むconfig.jsonファイルを追加する必要があります。

{
"lib": {
    "www": {
        "id": "com.phonegap.helloworld",
        "version": "3.5.0",
        "uri": "https://github.com/phonegap/phonegap-app-hello-world/archive/3.5.0.tar.gz"
    }
}
}

SOからの次の投稿で述べられているように Cordovaプロジェクトで機能する電話ギャップサービスを取得する

0
Torsten Barthel