I'm doing everything by the docs, but, still having an error in the console. What I'm trying is to create a global variable of a Firebase instance.
main.js
:
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import firebase from 'firebase'
require('firebase/firestore')
const config = {
// config
}
firebase.initializeApp(config)
const app = createApp(App)
.use(store)
.use(router)
.mount("#app");
console.log(app.config) // undefined
app.config.globalProperties.$firebase = firebase;
Why is it undefined
? Or should I overwrite property globalProperties
myself in the config
object?
const app = createApp(App).use(store).use(router).mount("#app")
returns the root component instance not the app instance which has the field config
, so, you should do:
const app = createApp(App)
const rootComponent = app.use(store)
.use(router)
.mount("#app");
console.log(app.config)
app.config.globalProperties.$firebase = firebase;
Learn more about the differences here.
config
exists on the return value of createApp
instead of the ending mount
call:
const app = createApp(App);
app.use(store).use(router).mount('#app');
console.log(app.config); // Not undefined
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With