2016-09-21 4 views
0

私のcordovaアプリケーションではcordova-promise-fsを動作させることができません。CordovaPromiseFSが定義されていません

私が持っているもの:browser.hで作成された1つのjsファイルを含むindex.html。これは、ファイルがcordovapromisefs.js、promiscuous.jsとは私自身のコードの内容が含まれてJS:

require('../node_modules/cordova-promise-fs/dist/CordovaPromiseFS.js'); 

var fs = CordovaPromiseFS({ 
      persistent: true, // or false 
      storageSize: 20 * 1024 * 1024, // storage size in bytes, default 20MB 
      concurrency: 3, // how many concurrent uploads/downloads? 
      Promise: require('../node_modules/promiscuous/promiscuous.js') // Your favorite Promise/A+ library! 
     }); 

(function() { 
    "use strict"; 


    document.addEventListener('deviceready', onDeviceReady.bind(this), false); 

    function onDeviceReady() { 
     console.log(fs); 
    }; 
})(); 

私はこの仕事を得る必要があると思ったが、これはキャッチされないにReferenceError「に私をリード:CordovaPromiseFSが定義されていません"

正しい方向を指していることが大好きです。

答えて

0

あなたはこのように、あなたのバンドルを構築するためにBrowserifyを使用して、その代わりに、すでにバンドルcordova-promise-fs/dist/CordovaPromiseFS.jsファイルを必要とし、モジュール自体を必要としている:

var CordovaPromiseFS = require('cordova-promise-fs'); 

をされ、あなたのバンドル内cordova-promise-fs/index.jsファイルを含むものです - すでにバンドルされているファイルとは異なり、ファクトリ関数をエクスポートするCommonJSモジュールがあります。

+0

これは、ありがとうございます!明らかに、私はすでにブラウザが何をしていたのか、何が必要なのかを完全には理解していませんでした。 – Wheelie

0

試してみるとrequireから返された値に割り当てる:

var CordovaPromiseFS = require('../node_modules/cordova-promise-fs/dist/CordovaPromiseFS.js'); 

あなたもWebPACKをして、ブラウザのライブラリとしてCordovaPromiseFS自分自身を構築することができます。 the repo's readmeは、あなたがソースのクローンを作成し、利用可能なprepublishコマンドを実行することを示唆している:

npm install webpack -g 
npm run-script prepublish 

このコマンドは、基本的CordovaPromiseFSのindex.jsファイルおよびパックdistのファイルをパックし、変数(see the source)にそれを公開します。

関連する問題