代码之家  ›  专栏  ›  技术社区  ›  Whirlwind

firebase.database.ref文件不是函数错误

  •  0
  • Whirlwind  · 技术社区  · 6 年前

    我正在尝试从数据库中读取/写入数据,但总是出现以下错误:

    firebase.database.ref文件不是函数错误

    以下是我如何将firebase纳入项目的:

    <script src="https://www.gstatic.com/firebasejs/5.9.3/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/5.9.3/firebase-auth.js"></script>
    <script src="https://www.gstatic.com/firebasejs/5.9.3/firebase-database.js"></script>
    

    然后:

    <script>
    var config = {
        ...
    };
    
    firebase.initializeApp(config);
    </script>
    

    function insertUser(user,name) {
    
    
         var ref = firebase.database.ref();
    
            ref.collection("users").doc(user.uid).set({
             uid: user.uid,
             email: user.email,
             name: name
    
             })
        .then(function() {
          console.log("Document successfully written!");
        })
        .catch(function(error) {
            console.error("Error writing document: ", error);
        });
    
    }
    

    我得到上面的错误。我做错什么了?

    1 回复  |  直到 6 年前
        1
  •  7
  •   Peter Haddad    6 年前

    database() 是一种方法,因此将其更改为:

     var reference =  firebase.database().ref();
    

    最好不要有相同的变量和方法名。

        2
  •  4
  •   bharatpatel    4 年前

    我还得到了一个数据库函数找不到最新的firebase库的问题。经过研究,我发现这是由于我为数据库导入了Javascript:

    以前我使用的是以下脚本,但不起作用:

    <script src="https://www.gstatic.com/firebasejs/7.16.0/firebase-app.js"></script>
    

    <script src="https://www.gstatic.com/firebasejs/7.16.0/firebase.js"></script>
    

        3
  •  1
  •   Filip Vrlák    4 年前

    如果要将firestore(数据库)模块导入somereact组件,请确保将 "firebase/database" 出口 export const firestore = app.database()

    火基.tsx

    import firebase from "firebase/app"
    import "firebase/auth"
    import "firebase/database"
    
    const app = firebase.initializeApp({
      apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
      authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
      databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
      projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
      storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
      messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
      appId: process.env.REACT_APP_FIREBASE_APP_ID
    })
    
    export const firestore = app.database()
    export const auth = app.auth()
    export default app
    

    myComponent.tsx文件

    import React from "react";
    import {firestore} from '../../../Firebase'
    
    export default function Home() {
    
      const db = firestore.refFromURL("https://<project>.firebaseio.com")
      return (
       ...
       )
    }
    
        4
  •  0
  •   Kamran    4 年前

    我也遇到了同样的问题。我刚加了这个CDN

    <script src="https://www.gstatic.com/firebasejs/8.0.1/firebase-database.js"></script>