javascript - Cloud Functions for Firebase 组织

标签 javascript firebase firebase-realtime-database google-cloud-functions

我知道有人问过这个问题 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/

相关文章:

javascript - 通过谷歌浏览器扩展访问本地文件?

android - 使用 StreamBuilder 从 Firebase 加载数据之前,Flutter 显示红色错误屏幕,如何修复?

ios - Firebase - 无法将类型 'AppDelegate' 的值分配给类型 'UNUserNotificationCenterDelegate?'

javascript - Firebase 警告 : Using an unspecified index

javascript - 在 JavaScript 中更改分隔线的显示属性

javascript - 在jstree中将丢弃的项目的名称获取到新的div中

javascript - 如何将某些东西插入原型(prototype)链?

javascript - 集成 firebase 分析以查看有多少用户访问我的网页

javascript - 迭代 Angular 4 Firebase 数据库中的对象数组

javascript - Firebase 实时数据库执行条件查询