Vuejs 路由器和 Firebase

时间:2020-12-22 23:52:19

标签: firebase vue.js security vuex vue-router

我最近决定学习 Vuejs,但我不知道是否有办法一次性加载集合而不是在每个组件上加载。

这是我在 export default 之前对每个组件所做的

由于身份验证,主文件是我第一次加载 firebase 的地方。

import firebase from '../main';
import fb from 'firebase'

let db= ''

if(firebase){
  db = firebase.firestore();
}
else{
  
  var config = {
    apiKey: process.env.VUE_APP_APIKEY,
    authDomain: process.env.VUE_APP_AUTHDOMAIN,
    projectId: process.env.VUE_APP_PROJECTID,
    storageBucket:process.env.VUE_APP_STORAGEBUCKET,
    messagingSenderId: process.env.VUE_APP_MESSAGINGSENDERID,
    appId: process.env.VUE_APP_APPID,
    measurementId: process.env.VUE_APP_MEASUREMENTID
  };

   let aux_fb =  !fb.apps.length ?  fb.initializeApp(config) : fb.app();
   db = aux_fb.firestore() 
  
}

ma​​in.js

import Vue from 'vue'
import App from './App.vue'
import router from './router';
import fb from "firebase" ;

var config = {
    apiKey: process.env.VUE_APP_APIKEY,
    authDomain: process.env.VUE_APP_AUTHDOMAIN,
    projectId: process.env.VUE_APP_PROJECTID,
    storageBucket:process.env.VUE_APP_STORAGEBUCKET,
    messagingSenderId: process.env.VUE_APP_MESSAGINGSENDERID,
    appId: process.env.VUE_APP_APPID,
    measurementId: process.env.VUE_APP_MEASUREMENTID
}

const firebase =  !fb.apps.length ?  fb.initializeApp(config) : fb.app();

export default firebase;

Vue.config.productionTip = false

let app = '';
  firebase.auth().onAuthStateChanged(() => {
    if (!app) {
      app = new Vue({
        router,
        render: h => h(App)
      }).$mount('#app');
    }
});

另外,使用 .env 是否安全?

0 个答案:

没有答案
相关问题