Я использую 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 в "файл, вызывающий проблему".
import firebase from 'firebase';
Также не рекомендуется вставлять ключ api здесь, даже для тестового приложения, я предлагаю вам отредактировать сообщение и отредактировать его.
Одним из решений является его инициализация следующим образом, в пределах created
крючка жизненного цикла экземпляра:
new Vue({
router,
render: h => h(App),
created() {
firebase.initializeApp(
{
apiKey: "...",
authDomain: "....",
databaseURL: "..."
...
}
)
}
}).$mount('#app')