Module
프로그램을 구성하는 내부 코드가 기능 별로 나뉘어 있는 것
모듈을 인식하는 Module System 과 키워드가 필요하다
표준
- CommonJS (Node.js)
- ESM (ECMAScript 2015)
키워드
- 내보내기
- 가져오기
사용 예
CommonJS
1
2
3
4
5
6
7
8
9
| // 모듈화 할 내용
const A = ...
const B = 함수
module.exports = {
A,
B
}
|
1
2
3
4
| // 가져오기
// A 만 가져오기
const { A } = require('./경로')
|
1
2
3
| // 각각 내보낸다
exports.A = A
exports.B = B
|
내보내기 기능은 한가지로 정해서 일관되게 만들자
ESM (ECMAScript 2015)
1
2
3
4
| npm i esm
# 명령어 바뀜
node -r esm index.js
|
1
2
3
4
5
6
7
8
|
const A = ...
const B = 함수
export {
A,
B
}
|
1
2
3
| // 가져오기
import { A } from '경로'
|
export defalut 로 하면 해당 모듈.함수이름 이런 식으로 이용해야 한다
module의 종류
- built-in Core Module (Node.js 기본 모듈)
- Community-based Module (npm)
- Local Module (본인이 만든 것)
module 장점
- 코드의 재사용성 증가
- 코드의 관리가 용이
다만 모듈화 기준은 명확해야 한다