我知道有人问过这个问题 here ,但它没有回答我的问题。我的问题是我们如何为 Cloud Functions 分解 index.js,包括 onWrite 调用等。
我知道您可以使用“require”并引入外部代码。它仍然在 index.js 中留下一些代码(例如,在 Franks OCR 示例中)。
理想情况下,我希望能够将整个 onWrite 事件触发器移动到另一个文件。
index.js 中的示例:
exports.sysQueueUserNew = functions.database.ref("/sys/queue/user_new/{queueId}").onWrite((event) => {
// do something
})
如何将整个函数事件监视/调用移动到另一个 js 文件,并从 index.js 调用它?
我的 index.js 已经变得非常大,为了组织目的阅读它已经成为一种痛苦。
理想情况下,我希望我的 index.js 非常有条理,例如:
--in index.js --
/// User cleanup
userHelpers()
/// SYS Logs
sysLogs()
--and in userHelpers.js have the onWrite trigger for example---
functions.database.ref("/sys/queue/user_new/{queueId}").onWrite((event) => {
// create user
})
等....
这是否可能而无需像这样编写代码(例如 Franks OCR 示例):
var test = require('./test')
exports.sysQueueUserNew = functions.database.ref("/sys/queue/user_new/{queueId}").onWrite((event) => {
// do something
test.doCleanup()
})
提前致谢....
最佳答案
您可以轻松地将函数分散到多个文件中。这是一个例子:
////////////// index.js
exports.sysQueueUserNew = require('./sys-queue-user-new');
exports.userCleanup = require('./user-cleanup');
///////////// sys-queue-user-new.js
const functions = require('firebase-functions');
module.exports = functions.database
.ref("/sys/queue/user_new/{queueId}")
.onWrite(e => {
// do something
});
///////////// user-cleanup.js
const functions = require('firebase-functions');
module.exports = functions.auth.user().onDelete(e => {
// do something
});
关于javascript - Cloud Functions for Firebase 组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43354761/