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();
}
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';
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
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-admin
package.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"
}
}
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
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"
]
},
//...
}