firebase의 유용한 기능 중의 하나는 cloud function을 사용할 수 있다. 그런데 기본으로 제공하는 javascript 파일이 index.js 파일 하나를 제공한다. function이 늘어나면 파일 하나로 처리하기에 복잡도가 높아진다. 이 같은 단점을 보완하기 위해 파일을 여러 개의 파일로 분리해 관리할 수 있다. 이건 javascript에 경험 있는 분들은 알 것 같다.
How do I structure Cloud Functions for Firebase to deploy multiple functions from multiple files? 문서를 참고해 파일을 여러 개의 파일로 분리했다.
firebase의 경우 다음과 같이 분리할 수 있다.
index.js
실질적인 firebase와 관련한 초기화 작업은 index.js에서 진행하고, 초기화한 admin은 function의 인자로 전달한다.
'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const courses = require('./courses');
admin.initializeApp(functions.config().firebase);
exports.courseUserChange = functions.database.ref('/course-users/{courseId}/{userId}').onWrite(event => courses.courseUserChange(event, admin));
courses.js
실질적인 로직을 구현하는 코드는 여기서 진행하면 된다.
exports.courseUserChange = (event, admin) => {
// 실질적인 로직을 구현하는 코드
}
0개의 의견 from SLiPP
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.