javascript - Vue : Firebase: Error in mounted hook: "FirebaseError: No Firebase App ' [DEFAULT]' has been created

标签 javascript firebase vue.js vuejs2 firebase-authentication

我正在构建 Vue SPA,并在发布此内容之前检查了许多帖子。

我不知道我做错了什么。

下面是我的App.Vue:

<template>
    <div id="app">
        <Navigation />
        <router-view class="container" :user="user" />
    </div>
</template>

<script>
import Navigation from '@/components/Navigation.vue';
// import db from './db.js';
import Firebase from 'firebase';
export default {
    name: 'App',
    data: function() {
        return {
            user: null,
        };
    },
    mounted() {

        Firebase.auth().onAuthStateChanged(user => {
            if (user) {
                this.user = user.email;
            }
        });
    },
    components: {
        Navigation,
    },
};
</script>

<style lang="scss">
$primary: #37c6cf;
@import '../node_modules/bootstrap/scss/bootstrap';
</style>

注意:我已经注释了从 db.js 的导入,可以在第一次导入后找到它。如果我启用它,Vue CLI 会抛出不同的错误。

在 db.js 中:

import firebase from 'firebase';
const firebaseConfig = {
    apiKey: 'yourkey',
    authDomain: 'domainnew.firebaseapp.com',
    databaseURL: 'yourdomain.com',
    projectId: 'yourproject',
    storageBucket: 'test',
    messagingSenderId: '454545',
    appId: '1:444d96:web:d78df',
    measurementId: 'G-69599595',
};

// Initialize firebase
const firebaseApp = firebase.initializeApp(firebaseConfig);
firebase.analytics();
export default firebaseApp.firestore();

在控制台中,我不断收到两个错误,并且我的 Vue 未从 Firebase 检索我的电子邮件地址。

enter image description here

任何人都可以帮忙解决这个问题吗?

最佳答案

以下应该可以解决问题:

db.js 文件

import firebase from 'firebase/app';
import "firebase/analytics";
import 'firebase/firestore';
import 'firebase/auth';

const firebaseConfig = {
    apiKey: 'yourkey',
    authDomain: 'domainnew.firebaseapp.com',
    databaseURL: 'yourdomain.com',
    projectId: 'yourproject',
    storageBucket: 'test',
    messagingSenderId: '454545',
    appId: '1:444d96:web:d78df',
    measurementId: 'G-69599595',
};

firebase.initializeApp(firebaseConfig);



const db = firebase.firestore();
const auth = firebase.auth();
const analytics = firebase.analytics();

export { db, auth, analytics };

App.js 文件

<template>
    <div id="app">
        <Navigation />
        <router-view class="container" :user="user" />
    </div>
</template>

<script>
import Navigation from '@/components/Navigation.vue';
const fb = require('./db.js');

export default {
    name: 'App',
    data: function() {
        return {
            user: null,
        };
    },
    mounted() {

        fb.auth.onAuthStateChanged(user => {
            if (user) {
                this.user = user.email;
            }
        });
    },
    components: {
        Navigation,
    },
};
</script>

<style lang="scss">
$primary: #37c6cf;
@import '../node_modules/bootstrap/scss/bootstrap';
</style>

关于javascript - Vue : Firebase: Error in mounted hook: "FirebaseError: No Firebase App ' [DEFAULT]' has been created,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59959424/

相关文章:

javascript - 使用 jQuery 删除 div 不适用于动态添加的 div

javascript - PHP - 将隐藏值传递到 jquery(第 2 部分)

android - Firebase Storage UI 和 Glide 不显示图像

ios - 如何为 firebase 数据编写完成处理程序?

javascript - webpack - 转译 1 ts 文件而不捆绑它(2 个条目)

laravel - 安装任何 npm 模块时出错

vue.js - VueJS : Textarea input binding

javascript - react : how to pass instance to onClick without using an active index

firebase - 我可以彻底删除Firebase CLI项目吗?

javascript - Extjs TreePanel 未展开