nodejs #8 module 개념이해하기

eunji hwang·2020년 3월 30일
0

NODE.JS

목록 보기
8/10

module?

module = library = dependency = pacakage, 언어나 프레임 워크마다 다르게 칭하지만 다 같은 말이다. nodejs를 사용할때는 module을 잘알아야 한단다! 오늘은 module을 이해해 보자!

module 생성

1) 1개 함수의 모듈

간단한 예제로 덧샘모듈과 곱샘모듈을 만들어보자.

// add.js
const add = (a, b) => a + b;
module.exports = add; // (add.js파일 === add 모듈)을 불러 사용하면 add함수를 사용할수 있다.
// mult.js
const mult = (a, b) => a * b;
module.exports = mult;

2) 2개 이상 함수/값을 갖는 모듈

(1) Object로 내보내기

// sample.js
const name = hwang;
const randomAge = (num) => {
  return Math.floor(Math.random()*num);
}
// 여러개의 값을 exports 해야한다면 객체에 담아 보낸다.
module.exports = {
  name : name,
  // key와 value가 같다면 key만 입력해 된다.
  randomAge // randomAge : randomAge와 같음
}

위의 코드와 같이 객체(object) 안에 key & value로 담아 보낼 수 있으며, key & value가 같다면 value없이 key만 내보내도 된다.

(2) module.exports.변수명으로 내보내기

객체를 담아 보내는 것이 복잡하다면

module.exports.변수명;
module.exports.함수명;

과 같은 방법으로 내보낼 수 있다. module.exports를 통해 내보내는 방식은 여러 방법이 있더라도 사용방법은 동일하다. 이제
module.exports를 통해 함수를 다른파일에서 사용할 수 있게 되었으니 사용해보자.

module 사용

1) 1개 값을 내보낼 경우

const add = require('경로/add.js');
const mult = require('경로/mult.js');
console.log(add(1,2), mult(1,2); // 콘솔에 3, 2가 력된다.

2) 2개 이상 값을 내보낼 경우

// 불러온 모듈이 2개이상의 값을 내보내고있다.
const sample = require('경로/파일명.js');

// 모듈을 불러온 변수에 객체형으로 담긴다. 속성과 메서드 쓰듯 사용할 수 있다.
console.log(sample.name); // hwang 출력
console.log(sample.randomAge(10)); // 0~9사이 랜덤 수 출력 
profile
TIL 기록 블로그 :: 문제가 있는 글엔 댓글 부탁드려요!

0개의 댓글