Возможно ли получить доступ к экземпляру приложения Firebase по умолчанию из импортированного модуля npm? - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь создать простой компонент с реагированием и FireBase, который загружает изображение в хранилище FireBase, Reaction-Avatar-FireBase .

Вопрос: как я могу загрузитькакой-то аватар без передачи экземпляра firebase хранилища компоненту?

Я хочу получить стандартное хранилище firebase в пакете npm, не сообщая ему.

  • Я импортирую свой модуль по ссылке npm в Sample App для тестирования.
  • Я не инициализирую приложение firebase на модуле, только в Sample App.
  • Я импортирую и использую компонент в Sample App.

Вот мой пример приложенияэтот модуль импорта:

  1. Инициализация Firebase на Пример приложения
import * as firebase from 'firebase/app'
import 'firebase/storage'
const config = require('./firebase.json')

export const initializeFirebaseApp = () => {
  firebase.initializeApp(config)
  firebase.storage()
}
Инициализация вызова при Пример приложения
import React from 'react'
import ReactDOM from 'react-dom'

import './index.css'
import App from './App'
import {initializeFirebaseApp} from './db/config'

initializeFirebaseApp()
ReactDOM.render(<App />, document.getElementById('root'))
Вызов хранилища Firebase на компоненте
import firebase from 'firebase'
import 'firebase/storage'

export function putFileInStorage(path, file) {
  let storage = firebase.storage()
  return new Promise((resolve, reject) => {
    let refToFile
    try {
      refToFile = storage.ref().child(`${path}/${file.name}`)
      refToFile
        .put(file)
        .then(res => {
          resolve(res)
        })
        .catch(err => {
          reject(err)
        })
    } catch (error) {
      reject(error)
    }
  })
}
Ошибка

Error on console

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...