firebase.firestore () n'est pas une fonction lorsque vous essayez d'initialiser Cloud Firestore

j'ai l'erreur Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_0_firebase__.firestore is not a function en essayant d'initialiser Cloud Firestore. J'ai installé firebase avec npm install firebase --save-dev précédemment.

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();
}
21
demandé sur Eyk Rehbein 2017-10-09 00:27:14

5 réponses

je l'ai fixée par l'importation de plusieurs bibliothèques: firebase et firebase/firestore. C'est parce que le firebase la bibliothèque de base n'inclut pas la bibliothèque de la firestore de façon innée. Ainsi, le code complet à corriger est:

import * as firebase from 'firebase';
import 'firebase/firestore';
17
répondu Eyk Rehbein 2018-06-04 16:06:52

tout d'Abord, assurez-vous d'avoir la dernière version de firebase:

npm install firebase@4.12.0 --save

Ensuite, ajoutez les deux firebase et firestore:

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

Initialiser le firebase application:

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

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

source:https://firebase.google.com/docs/firestore/quickstart?authuser=0

12
répondu Ramsy Maarten de Vos 2018-03-23 01:16:21

utiliser Firestore fonctions cloud sur noeud.js, vous devez utiliser admin.firestore() au lieu de admin.database(). Aussi, vous devriez être sûr que votre module firebase-adminpackage.json jusqu'à 5.4.1 ou au-dessus. Ressembler à quelque chose comme:

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "dependencies": {   
    "firebase-admin": "^5.4.1",
    "firebase-functions": "^0.7.0"
  }
}
1
répondu Francisco Durdin Garcia 2017-10-10 15:03:46

Si, par hasard, votre code est en vertu de la sorcellerie, et import firebase/firestore ne fonctionne pas, alors l'inclure directement:

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

Si il n'y est pas, alors:

npm install @firebase/firestore
1
répondu Jose A 2018-03-11 19:06:10

je pense que je l'ai pour les gens qui utilisent electron-webpack. Solution était d'un poste lié à l'importation codemirror. https://github.com/electron-userland/electron-webpack/issues/81

Cela a fonctionné pour moi.

// package.json
{
  //...
  "electronWebpack": {
    "whiteListedModules": [
      "firebase"
    ]   
  },
  //...
}
0
répondu btd 2018-04-28 22:20:29