Многие команды, которые вы можете выполнять с помощью CLI
, очень трудно понять программно, загружая его как модуль. Была бы полезна обновленная документация по синтаксису, доступным командам и т. Д.
Вопросы, которые у меня есть (или были, но решены):
tools.functions.config.get
обратите внимание на это: пришлось действительно покопаться в cloudfunctions.js, api.js и auth.js. Оказывается, эта функциональность доступна внутри пакета, а не в firebase-tools. это действительно полезно.
Есть образец
var client = require('firebase-tools');
client.list().then(function(data) {
console.log(data);
}).catch(function(err) {
// handle error
});
Но мне пришлось установить firebase-tools (без -g), чтобы это работало.
Пробовал что-то вроде этого
client.database.get('/app-settings/test').then((data) => {
console.log(data);
}).catch(function (err) {
console.log(err);
});
из-за отсутствия документации, но получил эту ошибку
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)
Правильный набор примеров использования этого будет, пожалуйста, отличным.
Я тоже изо всех сил пытаюсь заставить что-нибудь работать здесь.
@SJAnderson Не могли бы вы опубликовать здесь несколько своих примеров? _В частности, получение конфигурации (и установка, если она у вас есть) _ 🙏
Я боролся с этим, пока не начал копаться в источнике. Итак, пока у нас не будет документов для этого, я думаю, что это работает:
cwd
client.<command>.<subcommand>
Примеры:
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!
Кроме того, я не думаю, что вам нужно добавлять параметр token
в код узла, если у вас есть process.env.FIREBASE_TOKEN
, он загружается автоматически. HTH
Подробнее читайте в этом каталоге файлов и команд:
https://github.com/firebase/firebase-tools/blob/master/src/commands/index.js
@jesperp спасибо за четкое и лаконичное объяснение! Даже как человек, который «знает» ответ на этот вопрос, я буду ссылаться на ваш ответ, когда забуду, пока мы не загрузим документы.
Самый полезный комментарий
Я тоже изо всех сил пытаюсь заставить что-нибудь работать здесь.
@SJAnderson Не могли бы вы опубликовать здесь несколько своих примеров? _В частности, получение конфигурации (и установка, если она у вас есть) _ 🙏