То, как я это делаю, - это файл firedb, который я импортирую по мере необходимости (во всем приложении или просто в Vuex).Поскольку на файл продолжают ссылаться, конфиг продолжает перезагружаться, что вызывает ту же ошибку.
То, как я справился с этим, чтобы добавить эту строку после определения конфигурации
if (!firebase.apps.length) {
firebase.initializeApp(config);
}
У меня есть пример в condesandbox на https://codesandbox.io/s/vuex-ws-2-60fzg
С вашим кодом это будет немного сложнее, так как вы экспортируете firebaseApp
const.Но это может работать для вас (не проверено)
import firebase from 'firebase/app'
import 'firebase/firestore'
const config = {
apiKey: '...',
authDomain: '...',
databaseURL: '...',
projectId: '...',
storageBucket: '...',
messagingSenderId: '...'
}
const firebaseApp = firebase.apps && firebase.apps.length > 0 ? firebase.apps[0] : firebase.initializeApp(config)
firebase.firestore().settings({ experimentalForceLongPolling: false })
const db = firebase.firestore()
const fb = firebase
export { db, fb }
export default firebaseApp