5.4.1 상품 관리 모듈 만들기
앞에서 monolithic.js가 URI별로 각 모듈의 onRequest 함수를 호출하도록 했습니다. monolithic.js 파일에서 다른 파일의 함수를 호출하려면 exports 키워드를 사용해야 합니다. monolithic_ goods.js 파일을 monolithic.js 파일과 동일한 경로에 생성하고 다음과 같이 코드를 작성합니다.
코드 5-7 exports를 이용한 모듈 만들기
예제 파일 : monolithic_goods.js
exports.onRequest = function (res, method, pathname, params, cb) { }
이제 monolithic.js 파일에서 monolithic_ goods.js 파일의 onRequest 함수를 호출할 수 있습니다. 메서드별로 ‘상품 등록’, ‘상품 조회’, ‘상품 삭제’ 함수를 호출할 수 있도록 코드를 추가합니다.
코드 5-8 상품 관리 모듈 만들기
예제 파일 : monolithic_goods.js
exports.onRequest = function(res, method, pathname, params, cb) { switch (method) { // ➊ 메서드별로 기능 분기 case "POST": return register(method, pathname, params, (response) => { process.nextTick(cb, res, response); }); // ➋ 메서드별 처리 case "GET": return inquiry(method, pathname, params, (response) => { process.nextTick(cb, res, response); }); case "DELETE": return unregister(method, pathname, params, (response) => { process.nextTick(cb, res, response); }); default: return process.nextTick(cb, res, null); // ➌ 정의되지 않은 메서드면 null 리턴 } }