рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЖрджреЗрд╢ рдЬреЛ рдЖрдк CLI
рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИ рдХрд┐ рдЗрд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕рд┐рдВрдЯреИрдХреНрд╕, рдЙрдкрд▓рдмреНрдз рдХрдорд╛рдВрдб рдЖрджрд┐ рдкрд░ рдЕрджреНрдпрддрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред
рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рд╢реНрди рд╣реИрдВ (рдпрд╛ рд╣рд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ):
tools.functions.config.get
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреИрд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВрдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ cloudfunctions.js, api.js рдФрд░ auth.js рдореЗрдВ рдЦреЛрджрдирд╛ рдерд╛ред рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдмрд╕ рдлрд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕ рдореЗрдВ рд╕рд╛рдордиреЗ рдирд╣реАрдВ рдЖрдИ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд╣реИред
рдПрдХ рдирдореВрдирд╛ рд╣реИ
var client = require('firebase-tools');
client.list().then(function(data) {
console.log(data);
}).catch(function(err) {
// handle error
});
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕ (рдмрд┐рдирд╛-рдЬреА) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА
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
, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдПрдЪрдЯреАрдПрдЪ
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ:
https://github.com/firebase/firebase-tools/blob/master/src/commands/index.js
@jesperp рдЖрдкрдХреЗ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ "рдЬрд╛рдирддрд╛ рд╣реИ", рдореИрдВ рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ рдЬрдм рдореИрдВ рднреВрд▓ рдЬрд╛рддрд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд▓реЗрддреЗред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдпрд╣рд╛рдВ рднреА рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
@SJAnderson рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? _рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ рддреЛ рд╕реЗрдЯ рдХрд░реЗрдВ)_ ЁЯЩП