Это случилось со мной в 5.0.4. Ответ hsc все еще исправил это все же.

ользую Jest для проверки своих функций Firebase. Это все в браузере, поэтому у меня нет конфликтов с firebase на стороне сервера. Когда я используюfirebase.auth() или жеfirebase.database() все отлично работает Когда я пытаюсь использоватьfirebase.storage() мои тесты не пройдены.

Вот мой импорт и инициализация firebase:

import firebase from 'firebase';
import config from '../config';

export const firebaseApp = firebase.initializeApp(config.FIREBASE_CONFIG);
export const firebaseAuth = firebaseApp.auth();
export const firebaseDb = firebaseApp.database();

У меня есть файл imageUtils, в котором есть функция загрузки:

import { firebaseApp } from './firebase';

export const uploadImage = (firebaseStoragePath, imageURL) => {
  return new Promise((resolve, reject) => {
    // reject if there is no imagePath provided
    if (!firebaseStoragePath) reject('No image path was provided. Cannot upload the file.');

    // reject if there is no imageURL provided
    if (!imageURL) reject('No image url was provided. Cannot upload the file');

    // create the reference
    const imageRef = firebaseApp.storage().ref().child(firebaseStoragePath);

    let uploadTask;
    // check if this is a dataURL
    if (isDataURL(imageURL)) {
      // the image is a base64 image string
      // create the upload task
      uploadTask = imageRef.putString(imageURL);
    } else {
      // the image is a file
      // create the upload task
      uploadTask = imageRef.put(imageURL);
    }

    // monitor the upload process for state changes
    const unsub = uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED,
      (snapshot) => {
        // this is where we can check on progress
      }, (error) => {
        reject(error.serverResponse);
        unsub();
      }, () => {
        // success function
        resolve(uploadTask.snapshot.downloadURL);
        unsub();
      });
  });
};

И я пытаюсь создать контрольный пример для этой функции, и каждый раз, когда она завершается с ошибкой:

TypeError: _firebase3.firebaseApp.storage is not a function

Когда я запускаю приложение нормально, все работает нормально, и я никогда не получаю ошибки о том, что storage () не определено или не является функцией. Это только когда я пытаюсь запустить контрольный пример.

Я установилconsole.dir(firebaseApp); строка в импорте Firebase, и он возвращается с обоимиauth() а такжеdatabase() но нет хранения. Как я могу получить хранилище для импорта / инициализации / существовать должным образом?

Ответы на вопрос(2)

Ваш ответ на вопрос