web-dev-qa-db-fra.com

Firebase 3.0 avec texte dactylographié

J'essaie de développer une application Web avec l'authentification angular2 et firebase 3.0 en suivant les indications de google. Cependant, tous les guides pour le Web ont des exemples en javascript.

J'ai ajouté les lignes ci-dessous dans mon index.html

<script src="https://www.gstatic.com/firebasejs/live/3.0/firebase.js"></script>
var config = {
   apiKey: "AIzaSyCSfBMvAdEDpcm-z6gWp2XXXXXXXXXXXXX",
   authDomain: "fototrans-calculator.firebaseapp.com",
   databaseURL: "https://fototrans-calculator.firebaseio.com",
   storageBucket: "fototrans-calculator.appspot.com",
};
firebase.initializeApp(config);

Mais quand j'essaie d'utiliser 

rootRef = firebase.database.ref();

Je reçois une erreur en disant "Firebase" 

[ts] Cannot find name 'firebase'.

Maintenant, je me souviens que j'avais installé Firebase en utilisant des typages pour la version précédente de Firebase. Avons-nous encore une telle chose pour la nouvelle version de Firebase? S'il vous plaît guider.

Merci d'avance

23
Mufaddal Gulshan

A partir de Firebase 3.2.1, les typages sont inclus dans le package officiel NPM:

https://firebase.google.com/support/release-notes/js#wzxhzdk4version_321_-_july_26_2016wzxhzdk5

10
urish

Vous pouvez contourner ce problème en faisant declare var firebase: any;

4
Alex Weber

Un fichier de définition de type est disponible à l'adresse https://github.com/suhdev/firebase-3-TypeScript .

J'ai soumis une demande pull qui, espérons-le, résoudra le problème que vous décrivez.

4
Rick

Vous pouvez utiliser le fichier de définition des saisies fourni dans le référentiel AngularFire2 GitHub (situé ici ):

Incluez les éléments suivants dans votre fichier typings.json:

{
  "ambientDependencies": {
    "firebase": "github:angular/angularfire2/manual_typings/firebase3/firebase3.d.ts#2c9ab3117eeb804e8e4996461eddcf32efa54a56"
  }
}

Notez que la valeur ici est simplement le chemin du fichier sur GitHub suivi du hachage de validation correspondant. Le hash dans l'exemple est master au moment de l'écriture, vous voudrez peut-être mettre à jour le dernier commit.

Ensuite, vous pouvez exécuter node_modules/.bin/typings install et Typings appliquera les dernières modifications de votre fichier typings.json.

2
Pete

Vous pouvez essayer de l'utiliser celui-ci: https://github.com/angular/angularfire2/tree/master/manual_typings/firebase3

Et pour que cela fonctionne, vous devez l'ajouter à votre tsconfig.json:

"filesGlob": [
"**/*.ts",
"!node_modules/**/*",
"firebase3.d.ts"
],

Et copiez le fichier dans le même dossier que votre tsconfig.json.

0
Eusthace