Estoy tratando de implementar Firebase Realtime Database en un proyecto angular y me quedo atascado en uno de los primeros pasos. Importación de AngularFireModule y AngularFireDatabaseModule. Me da el siguiente error:
Module '"@angular/fire"' has no exported member 'AngularFireModule'.ts(2305) Module '"@angular/fire/database"' has no exported member 'AngularFireDatabaseModule'.Y así es como los estoy importando:
import {AngularFireModule } from '@angular/fire'; import {AngularFireDatabaseModule} from '@angular/fire/database'¿Me estoy perdiendo de algo? He instalado @angular/fire a través del comando
npm i firebase @angular/firey también he instalado herramientas firebase. Aquí hay una lista de los paquetes angulares que tengo instalados actualmente y sus versiones:
Angular CLI: 12.2.2 Node: 14.17.4 Package Manager: npm 6.14.14 OS: win32 x64 Angular: 12.2.3 ... animations, common, compiler, compiler-cli, core, forms ... platform-browser, platform-browser-dynamic, router Package Version --------------------------------------------------------- @angular-devkit/architect 0.1202.2 @angular-devkit/build-angular 12.2.2 @angular-devkit/core 12.2.2 @angular-devkit/schematics 12.2.2 @angular/cli 12.2.2 @angular/fire 7.0.0 @schematics/angular 12.2.2 rxjs 6.6.7 typescript 4.3.5Pido disculpas si todo esto es información excesiva, pero estoy completamente atascado en cuanto a cuál es el problema. Cualquier ayuda sería MUY apreciada. En este momento, mi sospecha es que es un problema de compatibilidad o quizás una función que ya no existe en las últimas versiones, pero realmente no lo sé.
AngularFire 7.0.0 se lanzó ayer con una nueva API que tiene muchos beneficios de reducción del tamaño del paquete.
En lugar de clases de nivel superior como AngularFireDatabase , ahora puede importar funciones independientes más pequeñas.
import { list } from '@angular/fire/database';El proceso de inicialización también es un poco diferente, ya que tiene una API más flexible para especificar configuraciones.
@NgModule({ imports: [ provideFirebaseApp(() => initializeApp(config)), provideFirestore(() => { const firestore = getFirestore(); connectEmulator(firestore, 'localhost', 8080); enableIndexedDbPersistence(firestore); return firestore; }), provideStorage(() => getStorage()), ], })Si desea continuar con la API anterior, hay una capa de compatibilidad .
import { AngularFireModule} from '@angular/fire/compat' import { AngularFireDatabaseModule } from '@angular/fire/compat/database';Consulte los documentos de actualización de la versión 7 para obtener más información .
Aquí hay un ejemplo:
import { initializeApp, provideFirebaseApp } desde '@angular/fire/app';
importaciones: [
provideFirebaseApp(() => initializeApp(environment.firebase))],
Aquí mi código, funcionando a partir del 1 de septiembre de 2021
import { AngularFireAuthModule } from "@angular/fire/compat/auth"; import { AngularFireModule } from '@angular/fire/compat'; const firebaseConfig = [ AngularFireAuthModule, AngularFireModule.initializeApp(environment.firebase) // Your config ];