Frameworks/Node.js

[Node.js 강좌] 4. Node.js Module(모듈), NPM 사용법

양디 2016. 1. 2. 17:35

모듈 사용법


Node.js 의 장점 중에 하나는, 전 세계 수많은 사용자들이 만든 모듈을 쉽게 사용이 가능하다는 것이다.


node.js 내장 모듈은 require('모듈명')으로 사용이 가능하다.


그 외에 따로 모듈을 받아서 사용하려면, npm을 통하여 모듈을 다운로드하는 과정이 필요하다.


다운로드 하였다면 똑같이 require를 이용하여 사용이 가능하다.


1
var crypto = require('crypto');

cs


위는 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
e

위와 같이 그냥 모듈명만 입력하는 것이 아니라 파일명을 상대 혹은 절대 경로로 입력해주어야 한다. 또한 확장명도 입력해주어야 한다.

그 이후에 사용하는 방식은 일반 모듈과 동일하다.


위의 방식으로 모듈을 내보내게 되면, 기존 모듈의 코드들은 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하여 사용하는 경우가 매우 많을 듯 하므로 

잘 기억해두자 !




댓글