-
모듈화JavaScript/Node.js 2018. 12. 10. 17:10
모듈화
모듈화란 다양한 기능을 하는 함수들 중 연관된 기능을 하는 함수들을 따로 한 곳에 묶어 파일로 관리하는 것이다.
예를 들어 애플리케이션에 아래의 함수들을 사용하고 있다고 치자.
'더하기를 하는 함수'와 '나누기를 하는 함수', '합계의 평균을 구하는 함수'가 있다고 칠 때 이 함수들의 공통점은 산술을 처리하는 기능을 한다는 것이다.
이렇게 하나의 카테고리로 묶을 수 있는 함수들을 모아서 따로 파일로 관리하는 것을 모듈화라고 한다.
모듈 만들기
프로젝트 폴더에 lib 폴더를 생성하고 하위에 수학관련 함수를 작성할 calculator.js파일을 생성하자.
calculator.js 파일 내에 아래의 코드를 작성하자.
2 ~ 9번 줄 -
7번줄에서 _sum()이라는 인자를 두개 받아 덧셈을 처리하는 함수를 작성했다.
이 함수를 2번에서 작성한 익명함수가 인자 a, b를 전달하며 호출했다.
그리고 _sum()으로부터 결과를 전달받아 데이터를 리턴하는 형식이다.
2번 줄에 작성한 "module.exports.sum"에 집중하자.
module.exports는 calculator.js 파일에 존재하는 익명함수를 모듈로써 사용할 수 있도록 하는 기능이다.
module.exports 객체에 "sum이라는 속성을 생성"했고 그 sum이라는 속성에 "익명함수"를 작성한 것이다.
이렇게 선언한 함수의 경우 다른 파일에서 호출을 할 수 있게 되는 특성을 가진다.
7번줄에 작성한 함수같은 경우는 다른 파일에서 함수를 직접적으로 호출해서 사용할 수가 없다.
module.exports 객체로 대입하지 않은 함수는 다른 파일에서 직접 호출할 수 없으며 calculator.js 파일 내에서만 사용이 가능한 함수가 된다.
모듈 호출 및 사용하기
다른 파일에서 호출이 가능하도록 함수를 생성했으니 다른 파일에서 모듈을 로드하고 함수를 호출하는 방법을 알아보자.
require()함수를 통해 파일을 모듈로써 불러온다.
그리고 module.exports객체에 선언한 속성명칭을 부여하여 작성한 익명함수를 호출할 수 있다.
node 명령어를 통해서 애플리케이션을 실행해보자.
그럼 calculator.js에 작성한 함수들이 실행된다는 걸 알 수가 있다.
'JavaScript > Node.js' 카테고리의 다른 글
자바스크립트 런타임 (0) 2019.02.24 Node.js란 (0) 2019.02.12 Federation Authentication (0) 2018.12.09 Authentication - Passport (0) 2018.12.07 Process Management - PM2 (0) 2018.12.06