javascript - 在 Vue js 应用程序中在哪里初始化 firebase?

标签 javascript firebase vue.js firebase-realtime-database

  // Initialize Firebase
  var config = {
    apiKey: "...",
    authDomain: "my-project.firebaseapp.com",
    databaseURL: "https://my-project.firebaseio.com",
    projectId: "my-project",
    storageBucket: "my-project.appspot.com",
    messagingSenderId: "..."
  };
  firebase.initializeApp(config);

当我在 index.html 或 main.js 中初始化 Firebase 时,在这两种情况下我都会出错

Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).

我必须在我的组件(仪表板)中初始化它。在我的一个组件中初始化 firebase 是正确的方法吗?为什么我可以这样做主.js ?

最佳答案

一种方法是使用如下所示的 firebaseConfig.js 文件

import firebase from 'firebase/app';
import 'firebase/firestore';

var config = {
    apiKey: "....",
    authDomain: ".....",
    databaseURL: ".....",
    ......
};
firebase.initializeApp(config);

const db = firebase.firestore();

// date issue fix according to firebase
const settings = {
    timestampsInSnapshots: true
};
db.settings(settings);

export {
    db
};

并在您的每个组件(您需要 Firebase 的地方)中导入并使用它,如下所示:

<template>
    ......
</template>
<script>
const firebase = require('../firebaseConfig.js');
export default {
  name: 'xxxxx',
  data() {
    return {
      ....
    };
  },
  methods: {
    fetchData() {
      firebase.db
        .collection('xxxxx')
        .get()
        ..... //Example of a call to the Firestore database
    }
  }
  .... 
};
</script>

关于javascript - 在 Vue js 应用程序中在哪里初始化 firebase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53179341/

相关文章:

javascript - 使用 localstorage Redux + Next.js 加载初始状态

javascript - 无法让我的页面正常工作

ios - 在 Swift 中运行 Firebase 数据库快速入门时遇到问题

android - 带有 ProGuard 的 Firebase

java - 如何每分钟将我的 Firebase 数据库增加 1?

javascript - 在 JavaScript 中手动执行事件

javascript - 如何用中间的附加空格替换对象的 PascalCase 键?

testing - 如何测试子组件是否触发了自定义事件

vue.js - vue-chartjs react 数据错误

javascript - Google Material Design Web 顶部应用程序栏图标点击正在删除 vue-router 链接?