Organize Cloud Functions for Firebase

后端 未结 4 565
小鲜肉
小鲜肉 2020-12-17 09:15

What is the best practice to organize all our Cloud Functions for Firebase?

I see from the sample GitHub repository that all functions reside in a single index

4条回答
  •  情深已故
    2020-12-17 09:45

    I organize my event handlers by provider and resource in a folder called triggers. E.g. where auth is the provider and user is the resource; the folder functions/triggers/auth/user contains an onCreate.js and onDelete.js, which welcomes and cleans up a user respectively.

    +--/auth
    |  +--/user
    |     +--/onCreate.js
    |     +--/onDelete.js
    +--/database
    +--/storage
    

    You can export a particular trigger by using the require function:

    exports.onCreateAuthUser = require('./triggers/auth/user/onCreate');    
    exports.onDeleteAuthUser = require('./triggers/auth/user/onDelete');
    

    I went a step further and created a script that automatically exports the functions for me. I change the extension of the files to f.js and search recursively the triggers directory. For each file found, the function name is concocted by breaking down the directory and file path.

    This structure was inspired by inspecting the internals of the firebase-functions npm package.

提交回复
热议问题