您可以通过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!
另外,如果您有process.env.FIREBASE_TOKEN
,我认为您不需要在节点代码中添加token
选项,它会自动加载。 HTH
在此文件和命令目录中阅读更多内容:
https://github.com/firebase/firebase-tools/blob/master/src/commands/index.js
@jesperp感谢您清晰简洁的解释! 即使作为“知道”这个答案的人,当我忘记时,我会参考你的答案,直到我们得到文档。
最有用的评论
我也在努力让任何东西在这里工作。
@SJAnderson你能在这里发布一些你的例子吗? _特别是配置获取(并设置,如果你有的话)_🙏