require() 와 module.exports
Javascript/NodeJS
2015. 4. 9. 09:09
nodeJS는 대부분 모듈화를 하여 사용한다.그리고 CommonJS라는 표준을 따른다.
require()와 module.exports 가 있는데 이 두가지는 CommonJS의 모듈 표준이다.
하나의 자바스크립트 파일은 하나의 모듈이 될 수 있다.
자바스크립트 파일에서 정의한 객체는 모두 외부에서 접근할 수없고 내부에서만 접근 할 수있는 지역범위로 정의된다.
예로 전역범위의 네임스페이스를 침범하지 않으려고 (function() {})() 와 같이 익명함수로 코드를 감싸는 방법과도 같다
그래서 외부에서 접근을 허용해야하는 객체는 명시적으로 지정해야한다.
함수나 변수를 module.exports에 할당하면 외부에서 접근이 가능하다.
이 모듈을 사용하는 파일에서는 require()로 다른 자바스크립트 파일을 불러와 module.exports로 허용된 변수나 함수를 사용한다.