连接到实时数据库Web时未定义FireBase
我正在尝试将Realtime Firebase数据库连接到Web App,并最终将数据存储在其中。
我在加载HTML文件时一直遇到同样的问题。我在控制台收到的错误是Uncaught ReferenceError: firebase is not defined
。
我的脚本是这样的:
<script type="module">
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.5.0/firebase-app.js";
import { getAnalytics } from "https://www.gstatic.com/firebasejs/9.5.0/firebase-analytics.js";
const firebaseConfig = {
apiKey: "<api key>",
authDomain: "<domain>",
databaseURL: "<db url>",
projectId: "<project id>",
storageBucket: "<bucket>",
messagingSenderId: "<id>",
appId: "<app id>",
measurementId: "<id>"
};
const app = initializeApp(firebaseConfig);
const analytics = getAnalytics(app);
var database = firebase.database();
var postListRef = database.ref('posts');
var newPostRef = postListRef.push();
newPostRef.set({
"post1": "testing"
});
</script>
sdk
您正在使用新的v9模块化推荐答案语法从Firebase导入函数。在该语法中,您拥有像getDatabase()
这样顶级函数,而不是像firebase.database()
这样的对象。
与代码段中的实时数据库代码等效的代码为:
var database = getDatabase(app);
var postListRef = ref(database, 'posts');
var newPostRef = push(postListRef);
set(newPostRef, {
"post1": "testing"
});
我建议将reading and writing data、appending data to a list和modular upgrade guide上的Firebase文档放在手边。
如果您有很多现有的实时数据库代码,您可以通过importing the compat
path先:
import firebase from 'firebase/compat/app';
import 'firebase/compat/database';
相关文章