[NodeJS] 모듈(module)의 형식

bolee·2022년 5월 15일
0

여기에서는 모듈(module)에 관해 알아볼 것이다.

코드 양이 늘면 관리가 중요해진다. 코드를 관리하는 과정에서 배열, 함수, 객체 등이 있는데, 객체가 많아지면 이 객체를 정리정돈하는 더 큰 개념의 도구가 있어야한다.
그것이 바로 모듈이다. 즉, 모듈을 코드를 정리하는 가장 큰 도구라고 할 수 있다.

모듈 실습

mpart.js라는 파일을 생성해 아래와 같은 코드를 작성해보자

var M = {
	v: 'v',
    f: function() {
    	console.log(this.v);
    }
}

module.exports = M;

위 코드는 간단하지만 객체가 많아질 경우 코드가 복잡해지기 때문에 이 또한 정리정돈의 대상이 된다. 이처럼 객체나 함수를 정리정돈할 수 있는 개념이 모듈이다. 즉, 모듈을 만들어 객체나 함수를 묶고, 이를 파일로 분리해 외부에서 독립적으로 공유할 수 있게 만드는 것이다.

마지막 줄 module.exports = M;은 이 파일에 선언한 M 객체를 외부에서 사용할 수 있게하는 자바스크립트 코드이다. 즉, 해당 코드를 적용하면 다른 파일에서도 M 객체를 사용할 수 있다.

이제 muse.js라는 파일을 만들어 방금 생성한 mpart.js에서 정의한 M 객체를 사용해 볼 것이다.

var part = require('./muse.js');

console.log(part);	// M 객체의 속성이 출력됨 => { v: 'v', f: [Function: f] }
part.f();	// v

위 코드에서 part라는 변수를 선언했는데, 이때 require 기능을 이용해 방금 생성한 mpart.js 파일의 경로를 지정함으로써 mpart.js에서 선언한 M 객체를 참조하게 만들었다. part 변수 값을 콘솔에 출력하면 M 객체의 속성이 출력되는 것을 볼 수 있을 것이다. 또한 M 객체에 존재하는 데이터나 함수를 사용할 수도 있다.

이러한 방식으로 모듈을 활용해 코드를 좀 더 분리하여 관리해줄 수 있다.

0개의 댓글