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é.
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 ];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 .