【发布时间】:2020-05-14 11:57:50
【问题描述】:
我正在构建 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 检索我的电子邮件地址。
任何人都可以在这方面提供帮助。
【问题讨论】:
-
您的 Firebase 配置在哪里?您在哪里初始化 firebase 应用程序?您是否碰巧阅读了说明npmjs.com/package/firebase#npm-bundler-browserify-webpack-etc。您需要导入 firebase 并使用 firebase 控制台为此应用提供的配置进行初始化。
-
对不起,它在 db.js 上。我正在这个文件上初始化我的 firebase。
-
您将导出/导入 firebase 应用的实例,而不是 firebase 本身。
-
更新了我的 db.js 代码。因为我没有从 db.js 安装任何东西。如果我启用 db.js 的导入语句。 Vue cli 抛出错误
-
由于您没有将
db.js导入App.Vue,在我看来FirebaseApp将不会被初始化,这反过来会解释错误。如果您在导入工作时遇到困难,您可能希望首先在没有导入的情况下让事情正常工作,因此将firebase.initializeApp(firebaseConfig)直接放在App.Vue本身内。
标签: javascript firebase vue.js vuejs2 firebase-authentication