개발나라 스용공주

[Node.js] CommonJS(CJS)모듈이란? 본문

WEB/Node.js

[Node.js] CommonJS(CJS)모듈이란?

스용공주 2024. 12. 10. 07:00
728x90
728x90

이번 글은 모듈 시스템 CJS에 대한 글이다.

 


 

[ CJS 사용 구조 ]

아래 두 코드를 보면 CJS는 실행하고자 하는 파일(math)를 내보내 실행시키는 파일(index)에서 실행하는 것을 확인할 수 있다.

 

math)

이때 math에서 내보내는데 module이라는 내장 객체에 exports라는 프로퍼티의 값으로 객체를 저장하는 구조이다.

해당 객체 안에는 프로퍼티로 내보내고싶은 값을 넣어준다.

아래 코드의 주석처럼 객체 내부의 value와 key의 이름이 같을 경우 하나만 작성해줄 수 있으며 작성된 값은 CJS 모듈에 의해 math 모듈에서 내보내진다.

 

index)

require로 모듈 경로를 인수로 전달해 해당 경로에서 내보내진 값을 불러올 수 있다.

따라서 index에서는 객체에서 읽은 add와 sub의 값을 그대로 가져왔다.

 

[ math ]

// math 모듈
function add(a, b) {
  return a + b;
}

function sub(a, b) {
    return a-b;
}

// CJS(Common JS) 모듈시스템
module.exports = {
    add,	// add: add
    sub,	// sub: sub
}

 

[ index ]

const moduleData = require("./math.js");
console.log(moduleData.add(1, 2));
console.log(moduleData.sub(1, 2));

index를 실행하는 키워드 : start

 

 


 

[ 구조분해할당으로 실행하기 ]

아래 코드는 위에서 언급된 index코드를 구조분해할당의 형식으로 작성한 것이다.

이때 바로 add와 sub에 할당하여 사용하는 것이다.

const {add, sub} = require("./math.js");
console.log(add(1,2));
console.log(sub(1,2));

 

 


728x90
728x90

'WEB > Node.js' 카테고리의 다른 글

[Node.js] ES 모듈이란?  (0) 2024.12.10
[Node.js] Node.js 기본  (0) 2024.12.10
[Node.js] Node.js로 자바스크립트 파일 실행시키기  (0) 2024.12.10
Comments