简体   繁体   English

使用requirejs加载Firebase js时出错

[英]Error loading firebase js with requirejs

I load Firebase js library with RequireJS like this: 我用RequireJS加载Firebase js库,如下所示:

require([
    'firebase-app',
    'firebase-storage'
], function (firebase) {
    firebase.initializeApp({...});
    firebase.storage();
});

Until Firebase js release 4.12.1 everything was ok, since 4.13.0 release I get these errors on "firebase.storage()" call: 直到Firebase js版本4.12.1一切正常,从4.13.0版本开始,我在“ firebase.storage()”调用中收到以下错误:

TypeError: Cannot read property 'registerService' of undefined at firebase (index.esm.js:3442) at index.esm.js:3434 TypeError:无法在index.esm.js:3434的Firebase(index.esm.js:3442)上读取未定义的属性'registerService'

and

Uncaught Error: Cannot instantiate firebase-storage - be sure to load firebase-app.js first. 未捕获的错误:无法实例化firebase-storage-确保首先加载firebase-app.js。 at firebase (index.esm.js:3444) at index.esm.js:3434 在firebase(index.esm.js:3444)在index.esm.js:3434

In Firebase 4.13.0 release notes there is this the change I think is breaking my code: https://firebase.google.com/support/release-notes/js#version_4130_april_19_2018 在Firebase 4.13.0发行说明中,我认为此更改破坏了我的代码: https ://firebase.google.com/support/release-notes/js#version_4130_april_19_2018

[CHANGED] Refactored to use core-js for our Polyfills/Shims. [更改]重构为我们的Polyfills / Shims使用core-js。

"core-js" is this library: https://github.com/zloirock/core-js “ core-js”是此库: https : //github.com/zloirock/core-js

These are the jsfiddle examples: 这些是jsfiddle示例:

Found the solution at this page (valid only for firebase release >= 5.5.6): 在此页面上找到了解决方案(仅对firebase版本> = 5.5.6有效):

https://github.com/firebase/firebase-js-sdk/issues/1266#issuecomment-441405513 https://github.com/firebase/firebase-js-sdk/issues/1266#issuecomment-441405513

you must call firebase.app.js like "@firebase/app", so: 您必须像“ @ firebase / app”一样调用firebase.app.js,因此:

var config = {
    paths: {
        '@firebase/app': 'https://www.gstatic.com/firebasejs/5.7.1/firebase-app',
        '@firebase/storage': 'https://www.gstatic.com/firebasejs/5.7.1/firebase-storage'
    }
};
require([
    '@firebase/app',
    '@firebase/storage'
], function (firebase) {
    firebase.initializeApp({
        ...
    });

    firebase.storage();
});

final jsfiddle: https://jsfiddle.net/ptmw0srq/125/ 最终的jsfiddle: https ://jsfiddle.net/ptmw0srq/125/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM