web-dev-qa-db-de.com

Firebase 3.0 mit Typoskript

Ich versuche, eine Web-App mit Angle2- und Firebase 3.0-Authentifizierung gemäß den von Google vorgegebenen Richtlinien zu entwickeln. Alle Handbücher für das Web enthalten jedoch Javascript-Beispiele.

Ich habe unten in meine index.html Zeilen eingefügt

<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);

Aber wenn ich versuche zu benutzen 

rootRef = firebase.database.ref();

Ich bekomme einen Fehler in der 'Firebase'-Meldung 

[ts] Cannot find name 'firebase'.

Jetzt erinnere ich mich, dass ich Firebase unter Verwendung der Typisierung für die vorherige Version von Firebase installiert hatte. Haben wir wieder etwas für die neue Version von Firebase? Bitte führen Sie.

Danke im Voraus

23

Ab Firebase 3.2.1 sind die Typisierungen Bestandteil des offiziellen NPM-Pakets:

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

10
urish

Sie können dies umgehen, indem Sie declare var firebase: any; ausführen.

4
Alex Weber

Es gibt eine Typdefinitionsdatei unter https://github.com/suhdev/firebase-3-TypeScript .

Ich habe eine pull-Anfrage eingereicht, mit der das von Ihnen beschriebene Problem hoffentlich gelöst wird.

4
Rick

Sie können die Typings-Definitionsdatei verwenden, die im AngularFire2-GitHub-Repository (unter hier ) enthalten ist:

Fügen Sie Folgendes in Ihre typings.json-Datei ein:

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

Beachten Sie, dass der Wert hier einfach der Pfad zu der Datei auf GitHub ist, gefolgt von dem entsprechenden Festschreibhash. Der Hash im Beispiel ist zum Zeitpunkt des Schreibens master, daher möchten Sie möglicherweise auf das letzte Commit aktualisieren.

Als Nächstes können Sie node_modules/.bin/typings install ausführen, und Typings übernimmt die neuesten Änderungen in Ihrer typings.json-Datei.

2
Pete

Sie können versuchen, es hier zu verwenden: https://github.com/angular/angularfire2/tree/master/manual_typings/firebase3

Und damit es funktioniert, müssen Sie es Ihrer tsconfig.json hinzufügen:

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

Kopieren Sie die Datei in den gleichen Ordner wie Ihre Datei tsconfig.json.

0
Eusthace