Structuring Cloud Functions for Firebase to deploy multiple functions from multiple files helps you maintain a clean and organized project. Here’s a step-by-step guide on how to achieve this:
Step 1: Create a folder structure for your functions
First, create a dedicated folder for each function within your functions directory, where your index.js or index.ts file is located. Then, in each folder, create a file named function.js or function.ts (depending on whether you’re using JavaScript or TypeScript) to contain the code for that specific function.
For example, if you have two functions named functionOne and functionTwo, your folder structure should look like this:
functions/
├── functionOne/
│ ├── function.js (or function.ts)
├── functionTwo/
│ ├── function.js (or function.ts)
├── index.js (or index.ts)
└── package.json
Step 2: Write your functions in their respective files
In each function.js or function.ts file, write the code for the corresponding Cloud Function.
Make sure to export the function at the end of the file. Here’s an example for functions/functionOne/function.js:
const functions = require('firebase-functions');
const functionOne = functions.https.onRequest((request, response) => {
response.send('Hello from Function One!');
});
module.exports = functionOne;
Step 3: Import and export functions in the index.js or index.ts file
In your index.js or index.ts file, import the functions from their respective files and export them. This will allow Firebase to deploy the functions when running the firebase deploy command.
Here’s an example for functions/index.js:
const functionOne = require('./functionOne/function');
const functionTwo = require('./functionTwo/function');
module.exports = {
functionOne,
functionTwo
};
Step 4: Deploy your functions
Finally, deploy your functions using the Firebase CLI by running the following command:
firebase deploy --only functions
Following these steps, you can organize your Firebase Cloud Functions into multiple files, making your project easier to maintain and manage. This structure is beneficial for larger projects with multiple functions and collaborators.
That’s it.

Amit Doshi is a Cloud Engineer who has experienced more than 5 years in AWS, Azure, and Google Cloud. He is an IT professional responsible for designing, implementing, managing, and maintaining cloud computing infrastructure, applications, and services.