관리 메뉴

JIHYUN JEONG

[Chapter 5] Node.js 모듈화(Module) 본문

Information Technology/Node.js

[Chapter 5] Node.js 모듈화(Module)

StopHyun 2017. 8. 27. 21:06

이번시간에는 Node.js 모듈화(Module)에 대해서 알아보겠습니다.



026 모듈화

*학습 내용: 모듈화에 대해서 배워보도록 하겠습니다.

*힌트 내용: 별도의 파일을 재활용 할 수 있습니다.

 

프로그램을 코딩 할 때 매번 자주 사용 되는 코드를 반복적으로 사용한다면 시간과 노력이 많이 들것이다. 그래서 코드의 재활용, 유지보수를 쉽게 하 기 위한 방법중에 하나가 코드를 여러가지로 분리하는 것이다. 이를 통해서 필요할 때마다 소스를 재활용 할 수 있고, 코드 수정시 해당 로직만 수정하면 되는 장점이 있다.

 

만약 사칙연산을 해야하는 프로그램을 자주 사용된다고 가정하자.

 

아래와 같이 모듈화를 하지 않고 한 파일에 다 작성한다면, 유지보수도 어렵고 시간낭비가 많이 될 것이다.

 

하지만 아래와 같이 한 소스에 모듈로 만든 후 사용한다면 유지보수 및 시간 측면에서 훨씬 편리하다.

 

파일명 : 026_numbericalExpression.js

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

// 사칙연산 (로드될 대상)

exports.sum = function(a,b) {

  return a+b;

};

 

exports.extract = function(a,b) {

  return a-b;

};

 

exports.multiple = function(a,b) {

  return a*b;

};

 

exports.devide = function(a,b) {

  return a/b;

};

 

 

파일명 : 026_module.js

1

2

3

4

5

let result = require('./026_numericalExpression.js');

console.log( 'The result is '+ result.sum(1,2));

console.log( 'The result is '+ result.extract(2,2));

console.log( 'The result is '+ result.multiple(3,3));

console.log( 'The result is '+ result.devide(4,2));

 

 

파일 026_module.js 실행 결과

The result is 3
The result is 0
The result is 9
The result is 2

Exports 객체 : 모듈을 다루는 전역 객체 입니다.

 

참고사항 전역객체란

함수 안과 밖에서 모두 사용할 수 있도록 범위를 제한하지 않는 객체입니다. 코드의 어느 부분에서도 사용 될 수 있습니다.







A day without laughter is a day wasted.



Comments