2017-01-19 11 views
2

私はaurelia-cliを使って私の資産を束ねます。必要なモジュールはrequirejsによって処理されます。firebase js version> 3.6.3 aurelia-cliとのバンドル

firebase使用するには、私は、特にファイルfirebase-browser.jsをバンドル:

// aurelia.json 
    [...] 
    { 
     "name": "firebase", 
     "path": "../node_modules/firebase/", 
     "main": "firebase-browser" 
    } 

予想通りfirebase NPMパッケージのバージョン3.6.2まではすべてが動作します。しかし、次のエラーのバージョン3.6.3からブラウザで発生します。

ReferenceError: global is not defined

問題が発生バンドルの一部:

define('firebase/app',['require','exports','module'],function (require, exports, module) {var firebase = (function(){ 
// minified stuff 
firebase.SDK_VERSION = "3.6.3"; 
return firebase;}).call(global); // <--- ERROR 
module.exports = firebase; 

firebaseのリリースノートは

3.6.3: Changed the packaging of browser npm modules to fix an issue that occurred when using Firebase Storage with the Browserify and webpack module bundlers.

を言います

これを修正する方法はありますか?

+1

Firebaseがロードされる前のどこか: 'window.global = window' – cartant

+0

@cartant thats it!あなたが回答を投稿するなら、私はそれを受け入れるでしょう。 – kuechlerm

+0

[公式チャンネル](https://firebase.google.com/support/)でバグや互換性の問題を報告し、解決できるようにしてください。 – Kato

答えて

2

Nodeとの互換性のために、Browserifyはglobalwindowと定義します。 Firebaseがロードされる前に

あなたはどこか、それを定義することで、あなたの問題を解決することができるはずです:

window.global = window; 

それはきれいではありませんが、それは物事を修正する必要があります。

関連する問題