firebase js version> 3.6.3打破与aurelia-cli的捆绑

时间:2017-01-19 09:29:25

标签: javascript firebase requirejs aurelia aurelia-cli

我使用aurelia-cli捆绑我的资产。需求模块由requirejs处理。

要使用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

导致问题的捆绑部分:

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:更改了浏览器npm模块的打包,以修复使用带有Browserify和webpack模块捆绑包的Firebase存储时出现的问题。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

为了与Node兼容,Browserify将global定义为window

您应该可以在加载Firebase之前在某个位置定义问题来解决您的问题:

window.global = window;

它不漂亮,但应该解决问题。