본문 바로가기

codeit

코드잇 [node.js: 모듈이란?]

모듈(module)이란?

  • 전체를 이루는 부품 하나하나

JavaScript 파일하나를 모듈이라고 할수 있음 

프로그램은 그런 모듈들이 모여서 생성된것

 

다른 파일에 있는 함수를 사용하려면 모듈을 로드해야함

 

export()

// math-tools.js

function add(a,b) {
  return a + b
}

export.add = add;

 

require()

// main.js

const m = require('./math-tools.js')
console.log(m.add(1,2)); // 3

require()는 모듈을 로드해서 객체 1개를 리턴합니다.

 


1. 모듈의 확장자인 .js를 꼭 붙이지 않아도 됨

main.js 모듈에서 math_tool.js 모듈을 로드할 때

const m = require('./math-tools.js');

이렇게 파일 이름 뒤에 붙은 .js라는 확장자까지 전부 적었지만 그럴 필요 없음

const m = require('./math-tools');

 

2. 모듈의 경로를 정확하게 작성해야 함

현재파일을 기준으로 불러올 파일의 경로를 작성하면 좋음 (상대경로)

절대경로도 가능

const m = require('./math-tools.js');

 

 

3. require 함수가 리턴하는 객체는 상수로 대입하는 게 좋음

모듈이 리턴한 객체를 상수로 받으면, 상수 m에 새로운 값을 다시 지정하려는 코드 자체에서 에러가 발생하기 때문에,

잘못된 코드를 작성하는 것을 미리 방지할 수 있음.

4. 모듈 안의 모든 것들을 공개할 수 있음

변수에서부터 객체까지, 모듈 안에 있는 것들은 모두 다른 모듈이 사용하도록 공개할 수 있습니다.

add 함수 말고도 변수(author), 상수(PI), 객체(test)를 추가하고 맨 아래에서 exports 키워드로 이것들을 하나씩 다 공개해주었습니다.

그리고 main.js 모듈에서

이것들을 모두 사용했습니다.

터미널에서 main.js 모듈을 실행해보면

이렇게 모두 잘 사용할 수 있다는 것을 알 수 있습니다

'codeit' 카테고리의 다른 글

코드잇 [node.js: 시작하기]  (0) 2022.06.05