首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过Require.js使用Firebase数据库和Firebase存储

如何通过Require.js使用Firebase数据库和Firebase存储
EN

Stack Overflow用户
提问于 2018-11-01 23:06:18
回答 1查看 251关注 0票数 0

我想在Require.js中使用Firebase-数据库和Firebase-Storage。

我的文件结构设置如下:

代码语言:javascript
运行
复制
../
   js/
      app.js
   lib/
      require.js
   app/
      main.js
      firebase_refs.js

我的app.js配置文件:

代码语言:javascript
运行
复制
requirejs.config({
"baseUrl": "js/lib",
"paths": {

  "app": "../app",
  "firebase_refs": "../app/firebase_refs",
  "jquery": "//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min",

  "firebase": "//www.gstatic.com/firebasejs/5.5.6/firebase-app",
  "firebase-auth": "//www.gstatic.com/firebasejs/5.5.6/firebase-auth",
  "firebase-database": "//www.gstatic.com/firebasejs/5.5.6/firebase-database",
  "firebase-storage": "//www.gstatic.com/firebasejs/5.5.6/firebase-storage",

 },

 "shim": {
    "firebase": {
        exports: "firebase"
    },
    "firebase-database": {
        exports: "firebase-database"
    },
    "firebase-storage": {
        exports: "firebase-storage"
    }
}
});

requirejs(["app/main"]);

我的main.js文件(我用来初始化Firebase):

代码语言:javascript
运行
复制
define(['firebase'], function (firebase) {

var FirebaseAppInit = {
    setupFirebase: function(){

        var config = {
            apiKey: "xxx",
            authDomain: "xxx",
            databaseURL: "xxx",
            storageBucket: "xxx",
        };

        firebase.initializeApp(config);
    }
};

return FirebaseAppInit;
});

我的firebase_refs.js文件(我用来声明firebase数据库根引用和存储引用):

代码语言:javascript
运行
复制
requirejs(["app/main"]);

define(['firebase-database', 'firebase-storage'], function(FirebaseDatabase, FirebaseStorage){

var Refs = {
    rootRef: function(){
        return FirebaseDatabase.database().ref();
    },
    storage: function(){
        return FirebaseStorage.storage();
    }
};

return Refs;

});

最后,在我的index.html文件中:

代码语言:javascript
运行
复制
<script>

    var test_header = document.getElementById("test_header");

    require(['app/main'], function(firebase){

        firebase.setupFirebase();

        require(['app/firebase_refs'], function(FirebaseRefs){

                var dbRef = FirebaseRefs.rootRef().child('some kind of text');
                dbRef.on('value', snap => test_header.innerText = snap.val());
            });

    });

</script>

我遇到的问题是

我得到的错误是:

代码语言:javascript
运行
复制
Error: Script error for "@firebase/app", needed by: firebase-database, firebase-storage
https://requirejs.org/docs/errors.html#scripterror

我知道我加载firebase-database和firebase-storage的顺序有问题,但我不知道在哪里。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2019-06-19 22:24:37

您应该使用另一个路径:

代码语言:javascript
运行
复制
...
"paths": {
  ...
  "@firebase/app": "//www.gstatic.com/firebasejs/5.5.6/firebase-app",
  "@firebase/auth": "//www.gstatic.com/firebasejs/5.5.6/firebase-auth",
  "@firebase/database": "//www.gstatic.com/firebasejs/5.5.6/firebase-database",
  "@firebase/storage": "//www.gstatic.com/firebasejs/5.5.6/firebase-storage",

 },
...

然后在您的main.js文件中使用它

代码语言:javascript
运行
复制
define(['@firebase/app'], function (firebase) {
    console.log(firebase);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53103964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档