npm을 이용해서 다른사람이 만든 외부 소프트웨어(모듈)를 자신의 소프트웨어(모듈)로 사용하는 방법을 알아보자.

underscorejs.org 로 들어가자. 

Installation 쪽으로 가면 여러가지 방법을 설치할수있음을 볼 수 있다. 

우리는 nodejs를 하고 있으므로 underscorejs.org 사이트에서 installation쪽에 나와있는 node.js로 설치하는 것을알아보자. 


1. 먼저 자신이 작업하는 디렉터리를 패키지로 만드는 법을 배워보자. 

다른사람의 패키지를 들여오기에 앞서 지금 프로젝트를 진행하고 있는 디렉터리(server_side_javascript)를 패키지로 지정해야할 필요가 있다. 


cmd창에서 cd C:\Users\Sean Park\dev\js\server_side_javascript 를 입력하여 

server_side_javascript 디렉터리까지 진입한 상태에서 

cmd 창에 npm init 을 입력하면 패키지를 만들 준비를 하게 된다. 

name:(server_side_javascript)가 나타나는데 사용자가 임의로 프로젝트명(패키지명)을 변경 할 수 있다. 

만약 곧 바로 엔터를 치면 괄호안의 것이 그대로 프로젝트명(패키지명)이 된다. 

description은 직접 달아주자. ex_ Server side javascript tutorials

entrypoint : 어떠한 javascript가 이 패키지를 구동시키는 자바스크립트 인가?


test command: 이 패키지에서 tdd를 할때 어떤 명령을 실행하면 테스트를 실행할것인지 지정해주는 것이다. 그러나 여기서는 테스트를 하지 않을 것이므로 생략하자. 


git repository : git에 올라가게 될 경우 그 저장소의 주소를 적으라는 부분이다. 

패키지(즉 프로젝트 폴더를 미리 깃헙상에 올려놓을 경우에 npm이 자동적으로 알아서 지정해준다 .괄호이용)

but 나는 해당 디렉토리(패키지)를 아직 깃헙상에 올려놓지 않았기 때문에 넘어가자.

이후 keyword, author, license 를 기본값으로 두고y( yes)를 해주면 해당 디렉터리에 package.json 파일이 생성된다. 

이렇게 package.json 파일이 생성된 디렉터리는 npm을 사용하여 패키지로 선언하게 되는것이다. 열어보면 패키지에 대한 정보임을 알 수 있다. 





2. 다른사람의 모듈을 자신의 프로젝트에 포함시키려면? 
npm install underscore : underscore를 다운받아서 우리의 프로젝트에 포함시키는 것. node_modules 라는 디렉터리가 생성된다. 
생성된 node_modules 의 하위에 underscore 디렉토리 안에 underscore 모듈이 위치해있다.



3. npm install underscore  vs  npm install underscore --save  

npm install underscore만 하였을 경우에는 package.json을 열어볼 경우 underscore 에 대한 내용이 따로 등록되어있지 않다.
하지만 npm install underscore --save를 할 경우에는 package.json을 열어볼 경우 underscore와 해당 underscore에 대한
버전 정보가 나타나게 된다. 

즉. --save를 해주면 그 패키지는 underscore 1.83버전 패키지에 의존한다는 것을 명시하게 되는 것이다. 

--save 를 해줄 경우에는 package.json 파일만 있다면 언제든지 자신의 프로젝트(패키지)에 underscore 모듈을 포함시킬 수 있다는 의미가 된다.

즉,--save를 해줘야만 자신의 프로젝트에 특정 모듈을 포함시킬 수 있다는 의미가 되는 것이다. 
결과적으로 어떠한 모듈을 내가 만든 프로젝트에 포함시키고 싶을 때는 npm install 모듈명 --save를 해주면 되는 것이다. 

--save가 없는 경우를 생각해보자.  
일시적으로 필요할 때(소스코드에 포함시키지 않고 지금 잠깐 해당 모듈을 사용해야 할 때) --save를 입력하지 않아도 된다.





4. 다른사람이 만든 모듈을 자신의 프로젝트(패키지)에 포함시켜 사용하는 방법을 알아보자. 


해당 프로젝트에서 javascript파일을 만들어서 사용하는데, underscore(모듈)가 필요할 경우에는 require 함수가 필요하다. 

통상적으로 underscore 모듈을 변수에 담을 때는 const _ = require('underscore'); 변수명을 underscore의 의미인 underbar_를 사용한다.

(※const는 상수임을 의미)

(※var _ = require('underscore')로 var을 사용하여도 된다.)

underscore 모듈을 사용하면 좋은 점에 대해서 알아보자. 

var arr = [3,4,5,6,7,9];

을 정의하였을 때 underscore 모듈을 담은 _ 개체의 기능들을 사용할 수 있다. 

_.first or _.last등을 사용할 수 있음.    

console.log를 사용하여 찍어보자.

colsole.log(_.first(arr));

colsole.log(_.last(arr));



1) ex_underscore 이라는 이름을 가진 파일을 만들어서 코드를 작성해주자.


2) node ex_underscor.js를 입력하여 해당 js 파일을 실행시켜보자. 




<정리> 


npm을 사용하여 다른사람의 모듈을 설치하기 위해(ex. npm install underscore --save)서는 자신의 프로젝트를 패키지로 만들어야 한다.

따라서 npm init을 입력하여 해당 디렉터리를 패키지화 해야 한다. 

그러면 해당 디렉터리에는 package.json 파일이 생성되면서 그 디렉터리는 패키지가 되는 것이다. 

이 후에 npm install underscore --save를 하여 외부의 모듈을 해당 패키지 내에 설치할 수 있게 되는 것이다. 

(※-g의 경우 전역으로 사용할 때 쓰인다.)


소프트웨어가 발전하게 된 것 : 여러개의 모듈(부품)들이 잘 결합되어 확대 된 것. 따라서 여러 개의 모듈을 합쳐주는 역할을 하는 npm은 핵심역할을 하게 된 것이다. 따라서 npm을 사용하는 것 많이 배워두자 굉장히 중요하다.



'nodejs' 카테고리의 다른 글

(7) 동기 vs 비동기  (0) 2016.05.31
(6) 콜백함수(callback function)  (0) 2016.05.31
(4) NPM 이란?  (0) 2016.05.30
(3) 모듈(module)  (0) 2016.05.29
(2) 포트번호의 이해, 서버생성, 서버설정  (0) 2016.05.29

+ Recent posts