본문 바로가기
필수 개발지식/JS

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

by 코딩하는짱구 2023. 7. 27.
반응형

✅모듈(Module)

정의 : 재사용 가능한 코드의 단위, 기능별로 미리 만들어놓은 코드

쓰는 목적 : 코드 재사용, 코드 구성성, 모듈은 자체적인 스코프를 가지므로 전역 네임스페이스를 오염시키지 않는다

쓰는 방법 : require를 통해 모듈을 가져오고 exports, module.exports로 함수를 노출시킨다. 

종류 :

  • 외장모듈 (npm) : Express, Axios etc..
  • 내장모듈 (node.js설치할 때 이미 존재, npm 필요x)  : fs.readFile, HTTP요청, path, 네트워크 통신 etc..
  • 사용자 정의 모듈 : 개발자가 직접 만들어서 사용하는 모듈

 

ex) 사용자가 정의한 모듈

mymodule.js (모듈 생성 및 정의)

// 모듈에서 노출할 기능 정의
function greet(name) {
  return `Hello, ${name}!`;
}

// 모듈에서 노출할 객체 정의
const person = {
  name: "John",
  age: 30,
};

// 모듈에서 노출할 함수와 객체 설정
exports.greet = greet;
module.exports.person = person;

 

app.js (모듈 불러오기 및 사용)

// myModule.js 모듈을 불러옴
const myModule = require('./myModule');

// 모듈에서 노출한 함수 사용
console.log(myModule.greet("Alice")); // 출력: Hello, Alice!

// 모듈에서 노출한 객체 사용
console.log(myModule.person.name); // 출력: John
console.log(myModule.person.age);  // 출력: 30
반응형