본문 바로가기
React

모듈에 대한 개념.

by jennyiscoding 2022. 7. 15.

 

프로젝트가 커지면 기능에 맞게 코드를 분리하는것이 매우 중요하다. 모듈은 코드를 분리하기 위한 방법을 제공해준다. 

반복되는 코드는 모듈로 분리를 해서 반복되는 부분에서 가져다 쓸 수 있게 코드를 모듈로 분리하여 사용한다. 

모듈의 집합이 패키지인 것이다. 

 

node.js에서 제공하는 기본 모듈

- console

- process모듈(.arch / .argv / .env / .abort / .kill / .exit)

- fs모듈(.readFile / .readFileSync / .writeFile / .watch) : 파일입출력을 위해 사용됨

- http모듈( .createServer ) : 서버나 클라이언트를 만들 수 있는 기능을 제공한다. 

 

모듈 생성하고 내보내기

 

commonjs모듈 : module.exports와 require로 모듈을 만들고 사용

ES모듈 : export와 import로 모듈을 만들고 사용 

 

아래는 commonjs모듈 

 

module.js

const name = "jannet"
const age = 5
const nationality = "Korea"

module.exports = {
    name,
    age,
    nationality
}

이렇게 내보낼 수도 있다. 

const name = "jannet"
const age = 5
const nationality = "Korea"

exports.name = name;
exports.age = age;
exports.nationality = nationality

 

가져오고 사용하기

main.js

const sample = require('./module')
console.log(sample.age)

5가 나온다. 

 

함수형으로 내보내고 가져오기

counter.js

let count = 0;

module.exports = () => {
  return (count += 1);
};

index.js

const counter = require('./counter');

for (let i = 0; i < 10; i++) {
  console.log(counter());
}

 

아래는 ES Module

node.js에서는 ES Module에 제약이 많기 때문에 CommonJS를 사용한다.