organizuję moje obsługi zdarzeń przez dostawcę i zasobów w folderze o nazwie triggers
. Na przykład. gdzie auth
jest dostawcą i user
jest zasobem; folder functions/triggers/auth/user
zawiera onCreate.js
i , który wita i odpowiednio odbiera użytkownika.
+--/auth
| +--/user
| +--/onCreate.js
| +--/onDelete.js
+--/database
+--/storage
Można eksportować konkretnej spust za pomocą funkcji require
:
exports.onCreateAuthUser = require('./triggers/auth/user/onCreate');
exports.onDeleteAuthUser = require('./triggers/auth/user/onDelete');
poszedłem o krok dalej i stworzył skrypt, który automatycznie eksportuje funkcje dla mnie. Zmieniam rozszerzenie plików na f.js
i przeszukuję rekursywnie katalog wyzwalaczy. Dla każdego odnalezionego pliku nazwa funkcji jest spreparowana przez podział katalogu i ścieżki pliku.
Ta struktura została zainspirowana przeglądem wnętrz pakietu NPM firebase-functions
.
Jest to kwestia opinii i niezbyt dobrze nadaje się do przepełnienia stosu. Jednak powinieneś wiedzieć, że możesz użyć funkcji require(), aby pobrać kod z innych plików do pliku index.js. Potem organizacja jest tym, czym chcesz. –
Dziękuję @DougStevenson, ta odpowiedź na moje pytanie. –
Zobacz mój przykład tutaj: http://stackoverflow.com/questions/42726310/how-to-test-firebase-functions-locally-on-pc/42729988#42729988 To z nieco przestarzałej wersji Cloud Functions, ale koncepcje nadal działają tak samo. –