web-dev-qa-db-fra.com

firebase.firestore () n’est pas une fonction lors de la tentative d’initialisation de Cloud Firestore

Lorsque j'essaie d'initialiser Firebase Cloud Firestore, j'ai rencontré l'erreur suivante: 

Uncaught TypeError: WEBPACK_IMPORTED_MODULE_0_firebase . Firestore n'est pas une fonction

J'ai installé firebase avec npm install firebase --save 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();
}
27
Eyk Rehbein

Je l'ai corrigé en important plusieurs bibliothèques: firebase et firebase/firestore. En effet, la bibliothèque principale firebase n'inclut pas naturellement la bibliothèque Firestore. Donc le code complet pour le réparer est:

import * as firebase from 'firebase';
import 'firebase/firestore';
28
Eyk Rehbein

Tout d’abord, assurez-vous d’avoir la dernière version de firebase:

npm install [email protected] --save

Ensuite, ajoutez à la fois firebase et firestore:

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

Initialisez l'application 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();

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

11

Si, par hasard, votre code est sous sorcellerie et que import firebase/firestore ne fonctionne pas, alors incluez-le directement:

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

Si ce n'est pas là, alors:

npm install @firebase/firestore
1
Jose A

Je pense que je l'ai compris pour ceux qui utilisent electron-webpack. La solution provenait d’un poste lié à l’importation de codemirror. https://github.com/electron-userland/electron-webpack/issues/81

Cela a fonctionné pour moi.

// package.json
{
  //...
  "electronWebpack": {
    "whiteListedModules": [
      "firebase"
    ]   
  },
  //...
}
0
btd
import { firebase } from '@firebase/app';
import '@firebase/firestore'

Si vous utilisez aussi bien

import 'firebase/auth';
0
Tim Arney

J'ai eu la même erreur et j'ai essayé de suivre le site officiel mais je n'ai pas fonctionné ..__ Ensuite, j'ai fait une erreur dans Google et j'ai atterri dans cet article.

J'ai essayé:

import * as firebase from 'firebase';
import 'firebase/firestore';

Cependant, cela n'a pas fonctionné pour moi, mais j'ai ajouté /firebase à la première ligne import * as firebase from 'firebase/firebase'; et tout fonctionne parfaitement.

Cela fonctionne aussi avec require:

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