firebase.firestore () não é uma função ao tentar inicializar o Cloud Firestore

21

Quando tento inicializar o Firebase Cloud Firestore, me deparei com o seguinte erro:

  

Uncaught TypeError: WEBPACK_IMPORTED_MODULE_0_firebase .firestore não é uma função

Eu instalei o firebase com npm install firebase --save anteriormente.

import * as firebase from 'firebase';
import router from '../router';

const config = {
        apiKey: "a",
        authDomain: "a",
        databaseURL: "a",
        projectId: "a",
        storageBucket: "a",
        messagingSenderId: "a"
};
if(!firebase.apps.length){
  firebase.initializeApp(config);
  let firestore = firebase.firestore();
}
    
por Eyk Rehbein 08.10.2017 в 23:27
fonte

5 respostas

17

Eu consertei isso importando várias bibliotecas: firebase e firebase/firestore . Isso porque a biblioteca firebase core não inclui a biblioteca firestore por natureza. Então, o código completo para consertá-lo é:

import * as firebase from 'firebase';
import 'firebase/firestore';
    
por Eyk Rehbein 04.06.2018 / 18:06
fonte
12

Primeiro, verifique se você tem a versão mais recente do Firebase:

npm install firebase@4.12.0 --save

Em seguida, adicione firebase e firestore:

const firebase = require("firebase");
// Required for side-effects
require("firebase/firestore");

Inicialize o aplicativo firebase:

firebase.initializeApp({
  apiKey: '### FIREBASE API KEY ###',
  authDomain: '### FIREBASE AUTH DOMAIN ###',
  projectId: '### CLOUD FIRESTORE PROJECT ID ###'
});

// Initialize Cloud Firestore through Firebase
var db = firebase.firestore();

fonte: link

    
por Ramsy Maarten de Vos 04.01.2018 / 11:06
fonte
1

Para usar as funções Firestore cloud no Node.js, você deve usar admin.firestore() em vez de admin.database() . Além disso, você deve ter certeza de que seu módulo firebase-admin on package.json seja de até 5.4.1 ou superior. Parecendo algo como:

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "dependencies": {   
    "firebase-admin": "^5.4.1",
    "firebase-functions": "^0.7.0"
  }
}
    
por Francisco Durdin Garcia 10.10.2017 / 17:03
fonte
1

Se por acaso seu código estiver sob bruxaria, e import firebase/firestore não funcionar, inclua-o diretamente:

import '@firebase/firestore/dist/esm/index';

Se não estiver lá, então:

npm install @firebase/firestore
    
por Jose A 11.03.2018 / 20:06
fonte
0

Acho que comprei para pessoas que usam o webpack eletrônico. Solução foi de um post relacionado à importação de codemirror. link

Isso funcionou para mim.

// package.json
{
  //...
  "electronWebpack": {
    "whiteListedModules": [
      "firebase"
    ]   
  },
  //...
}
    
por btd 29.04.2018 / 00:20
fonte