我使用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存储时出现的问题。
任何想法如何解决这个问题?
答案 0 :(得分:2)
为了与Node兼容,Browserify将global
定义为window
。
您应该可以在加载Firebase之前在某个位置定义问题来解决您的问题:
window.global = window;
它不漂亮,但应该解决问题。