Firebase-tools: Erweitern Sie die Dokumentation zur Verwendung von Firebase-Tools als Modul

Erstellt am 29. Apr. 2017  ·  4Kommentare  ·  Quelle: firebase/firebase-tools

Viele der Befehle, die Sie über CLI ausführen können, sind sehr schwer zu verstehen, wie sie programmgesteuert ausgeführt werden, wenn Sie es als Modul laden. Eine aktualisierte Dokumentation zu Syntax, verfügbaren Befehlen usw. wäre hilfreich.

Fragen die ich habe (oder hatte aber gelöst):

  • So drucken Sie eine Liste aller Schlüssel mit tools.functions.config.get
  • wie man Funktionen bereitstellt
  • So erhalten Sie eine Liste aller bereitgestellten Funktionen

Anmerkung dazu: musste wirklich in cloudfunctions.js, api.js und auth.js eintauchen. Es stellte sich heraus, dass diese Funktionalität innerhalb des Pakets verfügbar ist, nur nicht in Firebase-Tools aufgetaucht ist. das ist wirklich hilfreich.

docs

Hilfreichster Kommentar

Ich habe auch Mühe, hier etwas zum Laufen zu bringen.
@SJAnderson Kannst du hier einige deiner Beispiele posten? _Besonders die Konfiguration abrufen (und einstellen, wenn Sie sie haben)_

Alle 4 Kommentare

Es gibt eine Probe

var client = require('firebase-tools');
client.list().then(function(data) {
  console.log(data);
}).catch(function(err) {
  // handle error
});

Aber ich musste Firebase-Tools (ohne -g) installieren, damit das funktionierte.

Habe sowas probiert

client.database.get('/app-settings/test').then((data) => {
    console.log(data);
}).catch(function (err) {
    console.log(err);
});

aufgrund fehlender Dokumentation habe ich aber diesen Fehler bekommen

TypeError: Cannot create property 'project' on string '/app-settings/test'
    at Command._prepare (/Users/someone/Documents/test/node_modules/firebase-tools/lib/command.js:104:19)

Ein richtiger Satz von Beispielen für die Verwendung dieser wird bitte groß sein.

Ich habe auch Mühe, hier etwas zum Laufen zu bringen.
@SJAnderson Kannst du hier einige deiner Beispiele posten? _Besonders die Konfiguration abrufen (und einstellen, wenn Sie sie haben)_

Ich kämpfte damit, bis ich in die Quelle grub. Also, bis wir Dokumente dafür haben, denke ich, dass dies funktioniert:

  • Argumente werden wie gewohnt an die Funktion übergeben
  • Optionen (--foo bar) müssen als Teil eines Optionsobjekts übergeben werden
  • Das Optionsobjekt muss als _last_ Argument übergeben werden
  • Sie führen immer globale Optionen mit den Befehlsoptionen zusammen
  • Die globalen Optionen sind die gleichen wie in der Kommandozeile, aber zusätzlich mit cwd
  • Befehle mit einem Doppelpunkt werden als client.<command>.<subcommand>

Beispiele:

firebase target hosting --project foo
==>
client.target("hosting", { project: foo})

firebase deploy --only hosting  --token $FIREBASE_TOKEN
==>
client.deploy({ only: 'hosting', token: process.env.FIREBASE_TOKEN })

firebase target:apply mytype mytarget
==>
client.target.apply('mytype', 'mytarget')     // No options added!

Außerdem glaube ich nicht, dass Sie eine Option token im Knotencode hinzufügen müssen, wenn Sie über ein process.env.FIREBASE_TOKEN verfügen, es wird automatisch geladen. HTH

Lesen Sie mehr in diesem Datei- und Befehlsverzeichnis:
https://github.com/firebase/firebase-tools/blob/master/src/commands/index.js

@jesperp danke für deine klare und prägnante Erklärung! Selbst als jemand, der die Antwort darauf "kennt", werde ich mich auf Ihre Antwort beziehen, wenn ich es vergesse, bis wir die Dokumente aufbereiten.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen