【问题标题】:Firebase config file dynamic import at VueVue 中的 Firebase 配置文件动态导入
【发布时间】:2021-07-01 01:19:09
【问题描述】:

firebaseInit.js

import firebase from 'firebase/app';

const FirebaseConfig = {
  apiKey: '',
  authDomain: '',
  databaseURL: '',
  projectId: '',
  storageBucket: '',
  messagingSenderId: '',
  appId: '',
};

firebase.initializeApp(FirebaseConfig);

export default firebase;

我尝试了什么;

var data = async function getConfig() {
  var x= await fetch('/someurl')
    .then(function(res) {
      return res.json();
    })
    .catch(function(err) {
      return console.log(err);
    });
  return x;
};

firebase.initializeApp(getConfig());

export default firebase;

我可以获取外部配置文件,但它没有导出......................................

【问题讨论】:

    标签: firebase vue.js


    【解决方案1】:

    导出一个返回承诺的函数...

    // firebaseInit.js
    import firebase from "firebase/app";
    
    export default function() {
      return fetch('/someurl').then(res => {
        firebase.initializeApp(res.json());
        return firebase
      }).catch(err => {
        console.log(err);
        throw err;
      });
    };
    

    在导入模块中等待...

    import firebasePromise from 'firebaseInit.js'
    let firebase;
    
    async someFunction() {
      firebase = firebase || await firebasePromise();
      // use firebase
    }
    

    【讨论】:

    • 哎呀。我刚刚意识到 initializeApp 不会返回 firebase 实例。已编辑。 (另外,在 SO 上,当“它不起作用”时,从 console.log 添加线索)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 2019-08-03
    • 2019-06-25
    • 2022-10-19
    • 2020-06-18
    • 2019-02-03
    • 2020-01-24
    相关资源
    最近更新 更多