더북(TheBook)

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 리턴
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.