Ответ 1
Я организую обработчики событий поставщиком и ресурсом в папке с именем triggers
. Например. где auth
- поставщик, а user
- ресурс; папка functions/triggers/auth/user
содержит onCreate.js
и onDelete.js
, которая приветствует и очищает пользователя соответственно.
+--/auth
| +--/user
| +--/onCreate.js
| +--/onDelete.js
+--/database
+--/storage
Вы можете экспортировать определенный триггер с помощью функции require
:
exports.onCreateAuthUser = require('./triggers/auth/user/onCreate');
exports.onDeleteAuthUser = require('./triggers/auth/user/onDelete');
Я сделал еще один шаг и создал script, который автоматически экспортирует функции для меня. Я изменяю расширение файлов на f.js
и рекурсивно просматриваю каталог триггеров. Для каждого найденного файла имя функции выдумывается путем разбивки каталога и пути к файлу.
Эта структура была вдохновлена проверкой внутренних компонентов пакета firebase-functions
npm.