2022. 12. 6. 20:47ㆍNodeJs
목차 |
1. 모듈(Module) |
2. 모듈(Module) 만들기 |
1. 모듈(Module)
모듈(Module)이라는 뜻은 우리가 구현하려는 프로그램에 있어서 `작은 단위`라고 볼 수 있다.
- 모듈(Module)이란 특정한 기능을 하는 `함수`나 `변수`들의 집합이다.
- 모듈(Module)은 자체로도 하나의 `프로그램`이면서 다른 프로그램의 `부품`으로도 사용이 가능하다.
- 모듈로 만들어두면 여러 프로그램에 해당 모듈을 재사용할 수 있다
- 자바스크립트에서 코드를 재사용하기 위해 함수로 만드는 것과 비슷하다.
- 보통 파일 하나가 모듈 하나가 된다. 파일별로 코드를 모듈화할 수 있어 관리가 용이하다.
2. 모듈(Module) 만들기
실제로 모듈을 만들어 보자.
const.js, func.js, index.js 각각의 파일에 아래의 코드를 적어보자.
//==============================
// const.js
const odd = '홀수'
const even = '짝수'
module.exports = {
odd,
even,
}
//==============================
// func.js
const {odd, even} = require('./const')
function checkNum (num){
if(num % 2){
return odd
}
return even
}
module.exports = checkNum
//==============================
// index.js
const {odd, even} = require('./const')
const numberCheck = require('./func')
function checkString(str){
if(str.length % 2) { // 2로 나누었을 때 나머지
return odd
}
return even
}
console.log(numberCheck(10))
console.log(checkString("hello"))
const.js
const로 두 개의 변수를 선언하고, module.exports에 변수들을 객체에 담아 대입했다. 이제 이 파일은 모듈로서 기능한다.
변수들을 모아둔 모듈이 되어, 다른 파일에서 이 파일을 불러오면 module.exports에 대입된 값을 사용할 수 있다.
func.js
func.js는 require([참조할 파일 경로])를 통해서 const.js를 참조한다. 이 때, js 혹은 json 같은 확장자는 생략할 수 있다.
require('./const')로 const.js의 module.exports에 담긴 객체를 불러와 사용한다.
그 다음은 checkNum(num)이라는 숫자의 홀, 짝을 판별해주는 함수를 선언하고 이를 module.exports에 담았다.
module.exports에는 객체뿐만 아니라 함수나 변수를 대입해도된다.
index.js
index.js는 const.js와 func.js를 모두 참조한다. 모듈 하나가 다른 여러개의 모듈을 사용하는 형태이다.
모듈로부터 값을 불러올 때 변수 이름을 다르게 지정할 수도 있다. func.js의 checkNum이 numberCheck로 변경되었다.
세 파일은 아래의 그림 처럼 참조되고 있다.
이제 index.js 파일을 실행해보자.
# node [실행할 파일 위치]
$ node index
위에서 사용한 require와 module.exports는 따로 선언하지 않았음에도 사용할 수 있었다. 이것은 노드에서 기본적으로 제공하는 내장 객체이기 때문이다. 다음번에는 노드의 내장 객체들을 한 번 알아보자.
'NodeJs' 카테고리의 다른 글
NodeJs.TCP Server 만들기(2) (0) | 2022.12.17 |
---|---|
NodeJs.TCP Server 만들기(1) (0) | 2022.12.15 |
NodeJs.TCP 흐름 (0) | 2022.12.15 |
NodeJs.실행 및 사용방법 (0) | 2022.12.06 |
NodeJs.개념 이해하기 (1) | 2022.12.06 |