AngularFire atténue les aspérités qu'un développeur angulaire peut rencontrer lors de la mise en œuvre du SDK Firebase JS indépendant du framework et vise à fournir une expérience de développement plus naturelle en se conformant aux conventions angulaires.
ng ajouter @angular/fire
import { provideFirebaseApp , initializeApp } from '@angular/fire/app' ;
import { getFirestore , provideFirestore } from '@angular/fire/firestore' ;
export const appConfig : ApplicationConfig = {
providers : [
provideFirebaseApp ( ( ) => initializeApp ( { ... } ) ) ,
provideFirestore ( ( ) => getFirestore ( ) ) ,
...
] ,
...
} )
import { inject } from '@angular/core' ;
import { Firestore , collectionData , collection } from '@angular/fire/firestore' ;
import { Observable } from 'rxjs' ;
interface Item {
name : string ,
...
} ;
@ Component ( {
selector : 'app-root' ,
standalone : true ,
template : `
<ul>
@for (item of (item$ | async); track item) {
<li>
{{ item.name }}
</li>
}
</ul>
`
} )
export class AppComponent {
item$ : Observable < Item [ ] > ;
firestore : Firestore = inject ( Firestore ) ;
constructor ( ) {
const itemCollection = collection ( this . firestore , 'items' ) ;
this . item$ = collectionData < Item > ( itemCollection ) ;
}
}
Ni AngularFire ni Firebase ne sont livrés avec des polyfills. Pour assurer la compatibilité dans un large éventail d'environnements, nous vous suggérons d'ajouter les polyfills suivants à votre application :
API | Environnements | Polyremplissage suggéré | Licence |
---|---|---|---|
Diverses fonctionnalités ES5+ | Safaris < 10 | core-js/stable | MIT |
globalThis | Chrome < 71 Safari < 12.1 iOS < 12.2 Nœud < 12 | globalThis | MIT |
Proxy | Safaris < 10 | proxy-polyfill | Apache2.0 |
fetch | Safari < 10.1 iOS < 10.3 | cross-fetch | MIT |
Démarrage rapide - Obtenez votre première application opérationnelle en suivant notre guide de démarrage rapide.
Contribuer
Modèle Stackblitz - N'oubliez pas de définir votre configuration Firebase dans app/app.module.ts
.
Vous passez à la version 7.0 ? Consultez notre guide.
Nous avons trois exemples d'applications dans ce référentiel :
samples/compat
d'une application d'évier de cuisine qui démontre l'utilisation de l'API de « compatibilité »samples/modular
une application d'évier de cuisine qui démontre la nouvelle API arborescentesamples/advanced
la même application que samples/modular
mais démontre des concepts plus avancés tels que le transfert d'état Angular Universal, l'importation dynamique de modules de fonctionnalités Firebase et le regroupement de données Firestore. Obtenez de l'aide sur notre forum de questions-réponses, la liste de diffusion officielle Firebase, le Firebase Community Slack ( #angularfire2
), le Angular Community Discord ( #firebase
), Gitter, le subreddit Firebase ou Stack Overflow.
REMARQUE : Bien que relativement stable, AngularFire est un aperçu du développeur et est sujet à changement avant la disponibilité générale. Les questions sur la liste de diffusion et les problèmes déposés ici reçoivent une réponse dans la mesure du possible par les responsables et les autres membres de la communauté. Si vous parvenez à reproduire un problème avec Firebase en dehors de l'implémentation d'AngularFire , veuillez signaler un problème sur le SDK Firebase JS ou contacter le canal d'assistance personnalisé Firebase.
Ce guide du développeur suppose que vous utilisez la nouvelle API AngularFire à arborescence modifiable. Si vous recherchez l'API de compatibilité, vous pouvez trouver la documentation ici.
Consultez le guide de mise à niveau v7 pour plus d'informations sur ce changement.
Analytique import { } from '@angular/fire/analytics' ; | Authentification import { } from '@angular/fire/auth' ; |
Cloud Firestore import { } from '@angular/fire/firestore' ; | Fonctions cloud import { } from '@angular/fire/functions' ; |
Messagerie cloud import { } from '@angular/fire/messaging' ; | Stockage en nuage import { } from '@angular/fire/storage' ; |
Surveillance des performances import { } from '@angular/fire/performance' ; | Base de données en temps réel import { } from '@angular/fire/database' ; |
Configuration à distance import { } from '@angular/fire/remote-config' ; | Vérification de l'application import { } from '@angular/fire/app-check' ; |
Sommet AI import { } from '@angular/fire/vertexai-preview' ; |