When I try to initialize Firebase Cloud Firestore, I ran into the following error:
Uncaught TypeError: WEBPACK_IMPORTED_MODULE_0_firebase.firestore is not a function
I installed firebase with npm install firebase --save previously.
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();
}
I fixed it by importing multiple libraries: firebase and firebase/firestore. That's because the firebase core library does not include the firestore library.
import firebase from 'firebase/app';
import 'firebase/firestore';
First, make sure you have latest version of firebase:
npm install firebase@4.12.0 --save
Next, add both firebase and firestore:
const firebase = require("firebase");
// Required for side-effects
require("firebase/firestore");
Initialize the firebase app:
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
import { firebase } from '@firebase/app';
import '@firebase/firestore'
If you're using authentication as well
import '@firebase/auth';