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을 사용하여 패키지로 선언하게 되는것이다. 열어보면 패키지에 대한 정보임을 알 수 있다.
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 |