Hoe implementeer je sommige functies in Cloud Functions for Firebase zonder dat dit invloed heeft op andere functies?

Als ik hardloop

firebase deploy --only functions

het leest het bestand index.jsen werkt alle functies bij die uit dat bestand zijn geëxporteerd. Als er bij de vorige implementatie een functie was met de naam a, en in de huidige implementatie is er geen dergelijke functie, dan wordt averwijderd.

Met andere woorden, het effect is hetzelfde alsof alle bestaande functies zijn verwijderd en vervolgens alle functies uit het huidige bestand index.jszijn toegevoegd.

Is het mogelijk om individuele functies toe te voegen/bijwerken/verwijderen?


Antwoord 1, autoriteit 100%

Firebase CLI-tools 3.8.0 heeft de mogelijkheid toegevoegd om specifieke functies te implementeren.

firebase deploy --only functions:func1,functions:func2

--only <targets>     
only deploy to specified, comma-separated targets (e.g. "hosting,storage"). For functions, 
can specify filters with colons to scope function deploys to only those functions (e.g. "--only functions:func1,functions:func2"). 
When filtering based on export groups (the exported module object keys), use dots to specify group names 
(e.g. "--only functions:group1.subgroup1,functions:group2)"

Antwoord 2, autoriteit 24%

De volgende manier werkte voor mij om een ​​bepaalde functie te implementeren zonder mijn andere functies te beïnvloeden, waarbij “specificFunctionName” de functie is die ik wilde implementeren

firebase deploy --only functions:specificFunctionName

Antwoord 3, autoriteit 3%

firebase hier


Er is momenteel geen manier om een ​​enkele functie te implementeren met de Firebase CLI. Als u ‘firebase deploy’ uitvoert, worden alle functies geïmplementeerd.

We hebben onlangs gesproken over het inzetten van subsets van de functies, maar het is momenteel niet beschikbaar – en we kunnen ook niet aangeven of/wanneer dat zou kunnen zijn.

UpdateSinds de release van Firebase CLI is de mogelijkheid om afzonderlijke functies te implementeren beschikbaar. Zie yuku’s antwoord.


Antwoord 4

firebase deploy --only "functions:<fileName>.<functionName>"

voorbeeld mapstructuur:

functions 
  node_modules
  index.js
  smsNotification.js
  ...

Je kunt alleen een functie in een bestand opnieuw implementeren met

firebase deploy --only "functions:smsNotification.sendChatNotif"

Je kunt alle functies in een bestand opnieuw indelen met

firebase deploy --only "functions:smsNotification"

Other episodes