tôi tổ chức xử lý sự kiện của tôi bằng cách cung cấp dịch vụ và tài nguyên trong một thư mục có tên triggers
. Ví dụ. trong đó auth
là nhà cung cấp và user
là tài nguyên; thư mục functions/triggers/auth/user
chứa một số onCreate.js
và onDelete.js
, chào đón và làm sạch người dùng tương ứng.
+--/auth
| +--/user
| +--/onCreate.js
| +--/onDelete.js
+--/database
+--/storage
Bạn có thể xuất một kích hoạt cụ thể bằng cách sử dụng các chức năng require
:
exports.onCreateAuthUser = require('./triggers/auth/user/onCreate');
exports.onDeleteAuthUser = require('./triggers/auth/user/onDelete');
tôi đã đi một bước xa hơn và tạo ra một kịch bản tự động xuất khẩu các chức năng đối với tôi. Tôi thay đổi phần mở rộng của các tệp thành f.js
và tìm kiếm đệ quy thư mục trình kích hoạt. Đối với mỗi tệp được tìm thấy, tên hàm được pha trộn bằng cách chia nhỏ đường dẫn thư mục và tệp.
Cấu trúc này được lấy cảm hứng từ việc kiểm tra nội bộ của gói firebase-functions
npm.
Đây là vấn đề về ý kiến và không phù hợp với Stack Overflow. Tuy nhiên, bạn nên biết rằng bạn có thể sử dụng hàm require() để lấy mã từ các tệp khác vào tệp index.js của bạn. Sau đó, tổ chức là bất cứ điều gì bạn muốn. –
Cảm ơn bạn @DougStevenson, câu trả lời này cho câu hỏi của tôi. –
Xem ví dụ của tôi tại đây: http://stackoverflow.com/questions/42726310/how-to-test-firebase-functions-locally-on-pc/42729988#42729988 Đó là từ phiên bản phần nào đã lỗi thời của Chức năng đám mây, nhưng các khái niệm vẫn làm việc tương tự. –