Firebase Functions
에서 모든 코드를 index.js
에 작성할 필요는 없습니다. 모듈화를 통해 코드를 여러 파일로 분리할 수 있습니다. 이렇게 하면 코드가 더욱 가독성이 좋고 관리하기 쉬워집니다.
모듈화를 사용해 코드를 분리하는 방법은 다음과 같습니다.
functions
디렉토리에 새로운 폴더를 만들고, 이 폴더에 각 기능에 대한 파일을 생성합니다. 예를 들어, functions/api
폴더를 생성하고 여기에 user.js
와 posts.js
를 만들 수 있습니다.
각 파일에서 함수를 정의하고, module.exports
를 사용하여 외부에서 사용할 수 있도록 내보냅니다.
예를 들어, functions/api/user.js
에서 다음과 같이 코드를 작성할 수 있습니다.
const functions = require('firebase-functions');
const userFunction = functions.https.onRequest((req, res) => {
// 여기에 사용자 관련 함수 코드 작성
});
module.exports = {
userFunction,
};
functions/api/posts.js
에서도 비슷한 방식으로 코드를 작성합니다.
const functions = require('firebase-functions');
const postsFunction = functions.https.onRequest((req, res) => {
// 여기에 게시물 관련 함수 코드 작성
});
module.exports = {
postsFunction,
};
이제 index.js
파일에서 각 파일에서 내보낸 함수를 가져와 Firebase Functions로 등록합니다.
const { userFunction } = require('./api/user');
const { postsFunction } = require('./api/posts');
exports.user = userFunction;
exports.posts = postsFunction;
이제 functions 디렉토리의 구조는 다음과 같습니다.
functions/
│
├── api/
│ ├── user.js
│ └── posts.js
│
├── index.js
├── package.json
└── package-lock.json
이렇게 모듈화를 사용하면 각 기능에 대한 코드를 별도의 파일로 분리하여 관리할 수 있습니다. 이 방식은 코드를 더욱 깔끔하게 유지할 수 있으며, 프로젝트가 커질수록 특히 유용합니다.