일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 오라클
- 비지니스영어
- 유럽여행
- Spring Framework
- Oracle DB
- SAP ERP
- 도커
- nodejs
- 자바스크립트
- IT
- oracle
- db
- sap mm
- Programming
- 파이썬
- Java
- ABAP
- node.js
- Mac
- 노드
- docker
- SAP ABAP
- 자바
- JavaScript
- Python
- 머신러닝
- 딥러닝
- 오라클 디비
- 영어
- SAP
- Today
- Total
JIHYUN JEONG
[Chapter 5] Node.js 모듈화(Module) 본문
이번시간에는 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. |
'Information Technology > Node.js' 카테고리의 다른 글
[Node.js] node-schedule 모듈 (1), job scheduler(배치잡) (0) | 2017.12.18 |
---|---|
[Chapter 6] Node.js 전역객체 (Global Object) console, process (0) | 2017.08.29 |
[Chapter 4] Node.js 함수의 유효범위(Scope) 와 익명함수 (0) | 2017.08.22 |
[Chapter 3] Node.js 비교연산자 (Operator) (1) | 2017.08.18 |
[Chapter 2] Node.js 조건문 switch (0) | 2017.08.16 |