Funkcje zorganizować Chmura Firebase

głosy
17

Co to jest najlepsze praktyki do organizowania wszystkich naszych funkcji Chmura Firebase?

Widzę z próbki GitHub repozytorium , że wszystkie funkcje mieszkają w jednym index.jspliku.

Chyba dla większego projektu, że istnieje lepsze podejście do organizowania funkcji Chmura Firebase w różnych plików / katalogu.

Utwórz 22/03/2017 o 17:27
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
0

Można użyć czegoś podobnego export { functionName } from './file'w pliku index.js.

/functions/index.js
// This is the main entry point for the app written in ES that is compatible with node lts
import * as functions from 'firebase-functions';

export { sendWelcomeEmail } from './userEmails';

exports.helloWorld = functions.https.onRequest((request, response) => {
  let helloMsg = `Hello!`;
  response.send(helloMsg);
});
Odpowiedział 18/11/2017 o 00:01
źródło użytkownik

głosy
5

Organizuję moje obsługi zdarzeń przez dostawcę i zasobów w folderze o nazwie triggers. Np gdzie authjest dostawcą i userjest zasobem; folder functions/triggers/auth/userzawiera onCreate.jsa onDelete.js, który wita i czyści użytkownikowi odpowiednio.

+--/auth
|  +--/user
|     +--/onCreate.js
|     +--/onDelete.js
+--/database
+--/storage

Można eksportować konkretnej spust za pomocą requirefunkcji:

exports.onCreateAuthUser = require('./triggers/auth/user/onCreate');    
exports.onDeleteAuthUser = require('./triggers/auth/user/onDelete');

I poszedł o krok dalej i stworzył skrypt, który automatycznie eksportuje funkcje dla mnie. I zmienić rozszerzenie plików do f.jsi wyszukiwania rekursywnie katalog wyzwalaczy. Dla każdego znalezionego pliku, nazwa funkcji jest wymyślone przez rozbicie katalogów i plików ścieżkę.

Struktura ta była inspirowana przez kontrolę wnętrzności firebase-functionspakietu npm.

Odpowiedział 18/11/2017 o 00:15
źródło użytkownik

głosy
0

To jest wielkie pytanie i coś I zostały niedawno szukasz. Znalazłem tę wielką strategię z Tarik Huber: Organizowanie Funkcje Firebase Chmura . To jego spojrzenie na własnych myślach i kilku innych autorów w tej dziedzinie.

On organizuje swoje funkcje na podstawie ich wykorzystania i rodzaju (tj wyzwalania, HTTP, itp) w strukturze folderów. W index.js iteracje kod thorugh struktury i funkcji importu w bardzo zorganizowany i zwięzły sposób. Pozwala on nie tylko deweloperzy po prostu dodać nowe funkcje w dobrze rozumianym struktury, ale nie trzeba ręcznie manipulować plik index.js, i wdraża je w Firebase nazwy funkcji w zależności od struktury, jak również.

Na pewno to sprawdzić.

Odpowiedział 04/11/2019 o 10:36
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more