Node.js를 설치하고 관리할 수 있는 Node Version Manager를 사용한 개발환경 구성에 대해 살펴본다.
2018-6
npm i
관련 설명 추가
{:.right-history}
Node.js를 설치하고 관리할 수 있는 Node Version Manager를 사용한 개발환경 구성에 대해 살펴본다.
2018-6
npm i
관련 설명 추가
{:.right-history}
원문 https://darrenderidder.github.io/talks/ModulePatterns/ 요약
이것은 같단한 모듈을 hello-module.js 소스에 선언한 것이다.
1 | // hello-module.js |
선언된 소스는 require()
로 들여올 수 있다:
1 | require("hello-module.js"); |
모듈 foo.js 를 글로벌
1 | // foo.js |
모듈 foo.js를 들여와 전역에 선언된 함수 foo()를 사용한다.
1 | require("foo.js"); |
그러나 글로벌 영역을 오염 시키지 않는다.
module
객체에 export 한다.
1 | // bar.js |
모듈 bar.js를 들여와 전역에 선언된 함수 foo()를 사용한다.
1 | var bar = require("./bar.js"); |
module
객체의 이름 속성으로 export 한다.
1 | // bar.js |
모듈 bar.js를 들여와 전역에 선언된 함수 foo()를 사용한다.
1 | var fiz = require("./fiz.js").fiz; |
1 | // buz.js |
모듈 buz.js를 들여와 객체의 메서드를 호출한다.
1 | var buz = require("./buz"); |
1 | // buz.js |
모듈 baz.js를 들여와 속성 메서드를 호출한다.
1 | var baz = require("./baz.js").Baz; |
module.exports 에 객체를 노출한다.
1 | // doo.js |
모듈 doo.js를 들여와 객체의 메서드를 호출한다.
1 | var Doo = require("./doo.js"); |
module 에 이름 속성을 노출한다.
1 | // qux.js |
모듈 qux.js를 들여와 객체의 메서드를 호출한다.
1 | var Qux = require("./qux.js").Qux; |
modules.exports는 exports로 가명을 가지고 있다. 이름 있는 속성을 사용할 때 아래 같이 선언한다.
1 | > module.exports.fiz = 'Fiz'; |
exports 에 직접 대입하면 exports alias를 덮어 쓰게 된다.
1 | > module.exports.qux = "qux"; |