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):
tools.functions.config.get
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.
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:
cwd
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.
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)_