Do it Node.js 프로그래밍 모듈이란

2018. 3. 6. 16:29javascript/node.js

모듈



보통 프로그래밍을 하면 모든 함수를 하나에 모아 놓지 않고 여러가지 파일에 나누어서 저장해놓습니다. 그리고 필요할 때마다 호출하는 형식으로 프로그램을 만듭니다. 이렇게 제작하는 이유는 나중에 수정 혹은 추가하기도 쉽고 다른 곳에서도 이 함수를 재사용할 수 있기 때문입니다. 오늘은 모듈을 만들어서 실행시켜 보겠습니다.



모듈 작성을 위한 코드

호출 코드


var add = require('./moduleExample') //모듈이 작성된 상대위치
console.log(add(120, 240))


모듈 코드


var add = function (a, b) {
    return a+b
}
module.exports = add

위와 같이 코드가 작성된다. 호출된 코드에서는 require를 통해서 모듈이 작성된 파일을 불러옵니다. 모듈이 정의된 코드에서는 module.exports에 등록을 해줘야지 다른 곳에서도 사용 할 수 있다.



이곳에서는 모듈에 함수를 등록해서 사용했지만 함수가 아닌 객체를 등록해서 사용할 수 도있다. 아래의 예시를 보자



호출 코드


var example = require('./moduleExample')
console.log(example.add(120, 240))


모듈 코드

var example = require('./moduleExample')
console.log(example.add(120, 240))


함수를 등록한 코드와 달리 객체를 생성후 메소드를 등록시킨다. module.export에는 객체가 등록된다. 호출할 때도 객체처럼 사용해주면 된다.



npm을 이용하여 외부라이브러리 사용하기

위의 예시는 직접 코드를 작성하여 모듈로 만들었다면 이번에는 다른사람들이 유용한 기능을 모아서 제작해놓은 모듈을 가져와서 사용해보겠다. 수많은 npm중 nconf를 사용해보겠다.



설치

필자는 웹스톰으로 개발을 하기 때문에 웹스톰에서 설치를 해보겠다.



위와 같이 터미널 창에서 npm install nconf를 치면 다운 받을 수 있다. 이제 직접 호출하여 사용해보겠다. nconf는 시스템 환경 변수에 접근하는 기능을 포함하고있다.



var nconf = require('nconf')
nconf.env();
console.log('os의 정보 확인: %s',nconf.get('OS'))


사실 이 외부 모듈은 내가 만든 것이 아니기 때문에 정확한 사용법은 구글링을 통해서 사용하길 바란다. 그리고 도움이 될만한 사이트를 적고가겠다.

npm 정보