모듈이란?
프로그램을 구성하는 구성요소의 일부분을 의미하며, 재사용이 가능한 코드 조각 모음을 의미하기도 한다.
모듈
이라고 부른다.// 모듈의 기본 예시 코드
// 모듈 1 : math. js
export function add(a, b){
return a + b;
}
// 모듈 2 : calculator.js
import { add } from './math.js';
console.log(add(2, 3)); // 출력은 5
- 기본 예시 코드 설명
math.js 모듈은 add 함수를 정의하고 있고, calculator.js 모듈은 'math.js' 모듈의 add 함수를 가져와 사용하고 있다. 각 모듈은 서로 독립적인 스코프를 가지며 add함수는 math.js 모듈의 스코프 안에서 정의되어 있으므로 calculator.js에 접근할 수 있다.
여기서 './math.js'와 같이 상대 주소를 사용하였는데 상대주소와 절대주소에 대해 간단히 알아보겠다.
// 상대주소의 예시 코드 1
// 모듈 1: math.js
export function add(a, b) {
return a + b;
}
// 모듈 2: calculator.js
import { add } from './math.js'; // 상대주소 사용
console.log(add(2, 3)); // 출력: 5
// 절대주소의 예시 코드 1
// 모듈 1: math.js
export function add(a, b) {
return a + b;
}
// 모듈 2: calculator.js
import { add } from '/Users/user/Documents/projects/math.js'; // 절대주소 사용
console.log(add(2, 3)); // 출력: 5
// 상대주소의 예시코드 2
// 모듈 1: math.js
export function add(a, b) {
return a + b;
}
// 모듈 2: calculator.js
import { add } from '../math.js'; // 상대주소 사용
console.log(add(2, 3)); // 출력: 5
번들링(Bundling)
라고 부른다.번들리 과정에서 발생할 수 있는 문제점을 해결하기 위해 불필요한 코드(사용되지 않는 모듈)을 제거하고 식별하는 기법 = '트리 쉐이킹(Tree Shaking)' 이라고 한다.
모듈의 종류는 ESM방식과 CJS 방식으로 나뉘는데 설명은 다음 포스트에 진행하겠다!!