모듈 사용법
Node.js 의 장점 중에 하나는, 전 세계 수많은 사용자들이 만든 모듈을 쉽게 사용이 가능하다는 것이다.
node.js 내장 모듈은 require('모듈명')으로 사용이 가능하다.
그 외에 따로 모듈을 받아서 사용하려면, npm을 통하여 모듈을 다운로드하는 과정이 필요하다.
다운로드 하였다면 똑같이 require를 이용하여 사용이 가능하다.
1 | var crypto = require('crypto'); |
위는 node.js의 내장 암호화 모듈인 crypto를 불러오는 코드이다.
C의 include, 자바의 import 등과 다른 점은 불러와서 객체(var crypto)에 저장을 한다는 것이다.
NPM 사용법
npm은 최신 node.js는 설치 시 자동으로 함께 설치가 된다. 사용 방법은 커맨드창에서
npm install [모듈명] 으로 설치할 수 있다.
설치를 할 때에 중요한 몇가지 옵션 사항이 있다.
npm install [모듈명] -g : g는 global을 뜻한다. 전역 모듈로 다운받는 것이다. 이 경우는 많이 사용되지 않으나,
express, gulp나 grunt 등 커맨드 터미널(Shell)에서 사용되어지는 모듈들은 Global하게 설치하여야 한다.
보통 global하게와 local하게 두번에 걸쳐서 설치하는 경우가 종종 있다.
npm install [모듈명] --save : --save는 현재 폴더에 package.json에 집어넣는다는 뜻이다.
npm으로 설치를 할 때에, 해당 모듈을 유지 보수하기 위한 정보가 package.json에 저장되어 있다.
따라서 직접 입력해 주거나, --save를 통해서 쉽게 입력할 수 있다.
npm install : 그냥 npm install하는 경우도 있는데, 이는 package.json에 필요한 모듈들을 다 집어넣었을 때에
필요한 모듈들을 한번에 다운로드하기 위하여 사용되어진다.
export 사용법
위의 내용들은 전부 기존에 만들어져있는 모듈들을 사용하는 방법들이었다.
물론 우리도 자체적으로 모듈을 만들어서 사용할 수 있다.
그 방법이 바로 exports이다.
exports에는 모듈 자체를 내보내는 방법과, 함수 각각을 내보내는 방법이 있다.
1 2 | var app = express(); module.exports = app; | cs |
위의 방식은 현재 작성한 js 파일을 모듈화하여 내보내는 것이다.
위의 파일의 이름이 만약 express.js 였다면,
저것을 임포트하기위해서는
1 | var express = require('../express.js'); | cs |
위와 같이 그냥 모듈명만 입력하는 것이 아니라 파일명을 상대 혹은 절대 경로로 입력해주어야 한다. 또한 확장명도 입력해주어야 한다.
그 이후에 사용하는 방식은 일반 모듈과 동일하다.
위의 방식으로 모듈을 내보내게 되면, 기존 모듈의 코드들은 import된 후에 바로 모두 실행된다.
또는 함수를 하나씩 보내는 경우도 있다.
1 2 3 | exports.test = function(testInt){ console.log(testInt); } | cs |
위와 같은 방식으로 사용한다. test라는 것을 export하는 것이다.
만약 저 함수가 위의 express.js에 있다면,
1 2 | var express = require('../express.js'); express.test(5); | cs |
또는
1 | require('../express.js').test(5); | cs |
의 방식으로 사용할 수 있게 된다.
Node.js를 사용하다 보면 위의 모듈화와 모듈을 import하여 사용하는 경우가 매우 많을 듯 하므로
잘 기억해두자 !