'firebase' не определено - Vue.js

1

Я использую firebase для регистрации пользователей, но консоль жалуется, что firebase не определен. Я импортирую, firebase, у меня есть моя настройка, настроенная правильно в соответствии с документами, которые дает вам firebase, но все равно не повезло.

import Vue from 'vue'
import App from './App.vue'
import VeeValidate from 'vee-validate';
import router from './router';
import firebase from 'firebase';
Vue.use(VeeValidate);
Vue.config.productionTip = false
// Initialize Firebase
 var config = {
   apiKey: "<my api key>",
   authDomain: "<my auth domain>",
   databaseURL: "<my database url>",
   projectId: "todo-bb5d3",
   storageBucket: "",
   messagingSenderId: "638496899966"
 };
 firebase.initializeApp(config);


new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

файл, вызывающий проблему:

<template>
    <div class="LogIn">
      <h3>Sign Up</h3>
      <input type="email" v-model="email" placeholder="email" name="" value="">
      <input type="passeord" v-model="password" placeholder="password" name="" value="">
      <button v-on:click="signUp" type="button" name="button">Sign Up</button>
    </div>
</template>


<script>
  export default{
    name: 'LogIn',
    data: function() {
      return{
        email: '',
        password: ''
      }
    },
    methods: {
      signUp: function(){
        firebase.auth().createUserWithEmailAndPassword(this.email, this.password).then(
          function(user){
            alert('Your account has been created')
          },
          function(err) {
            alert('Opps! ' + err.message)
          }
        )
      }
    }
  }
</script>
Теги:
firebase
vue.js

2 ответа

1

Вы должны импортировать firebase в "файл, вызывающий проблему".

import firebase from 'firebase';

Также не рекомендуется вставлять ключ api здесь, даже для тестового приложения, я предлагаю вам отредактировать сообщение и отредактировать его.

0

Одним из решений является его инициализация следующим образом, в пределах created крючка жизненного цикла экземпляра:

new Vue({
  router,
  render: h => h(App),
  created() {
    firebase.initializeApp(
      {
        apiKey: "...",
        authDomain: "....",
        databaseURL: "..."
        ...
      }
    )
  }
}).$mount('#app')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню