Как исправить «Не удается прочитать свойство 'firestore' of null" в Firestore - PullRequest
0 голосов
/ 03 июня 2019

Я попытаюсь изменить настройку в функции firestore (), но она не работает. Я прочитал документ, и они сказали, что это будущее будет удалено в будущем выпуске, но я не видел решения. Поэтому я надеюсь, что кто-нибудь может помочь мне решить эту проблему

Версия операционной системы: Majove 10.14.2 Версия библиотеки: ^ 6.1.0 Firebase Продукт: пожарный магазин

import * as firebase from 'firebase/app'
import 'firebase/firestore'
require('dotenv').config({ encoding: 'utf8' })

const firebaseConfig = {
  apiKey: process.env.API_KEY,
  authDomain: process.env.AUTH_DOMAIN,
  databaseURL: process.env.DATABASE_URL,
  projectId: process.env.PROJECT_ID,
  storageBucket: process.env.STORAGE_BUCKET,
  messagingSenderId: process.env.MESSAGING_SENDER_ID,
  appId: process.env.APP_ID
}

// Initialize Firebase
let firebaseApp = null
if (!firebase.app.length) {
  firebaseApp = firebase.initializeApp(firebaseConfig)
}
firebaseApp.firestore().settings({
  ssl: false,
  timestampsInSnapshots: true
})

export default firebaseApp.firestore()

1 Ответ

0 голосов
/ 04 июня 2019

См. https://firebase.google.com/docs/web/setup.

Основной способ инициализации firebase - это.

import firebase from "firebase/app";
import "firebase/auth";
import "firebase/firestore";
import "firebase/functions";
import "firebase/storage";
import "firebase/messaging";
import "firebase/performance";

const config = {
  // set your config here
};

if (!firebase.apps.length) {
  firebase.initializeApp(config);
}

const auth = firebase.auth();
const storage = firebase.storage();
const functions = firebase.functions();
const firestore = firebase.firestore();
let messaging = null;
try {
  if (firebase.messaging.isSupported()) {
    messaging = firebase.messaging();
    messaging.usePublicVapidKey("your publicVapidKey here");
  }
} catch (e) {}
const perf = firebase.performance();

export { firebase, auth, storage, functions, firestore, messaging };

Я редактировал твой код.

import firebase from 'firebase/app'
import 'firebase/firestore'
require('dotenv').config({ encoding: 'utf8' })

const firebaseConfig = {
  apiKey: process.env.API_KEY,
  authDomain: process.env.AUTH_DOMAIN,
  databaseURL: process.env.DATABASE_URL,
  projectId: process.env.PROJECT_ID,
  storageBucket: process.env.STORAGE_BUCKET,
  messagingSenderId: process.env.MESSAGING_SENDER_ID,
  appId: process.env.APP_ID
}

if (!firebase.apps.length) {
  firebase.initializeApp(firebaseConfig)
}
const firestore = firebase.firestore();
firestore.settings({
  ssl: false,
  timestampsInSnapshots: true
})

export default firestore;
...