모듈과 NPM - npm 설치 및 사용
17 Feb 2017 | nodejs npm 모듈모듈과 NPM - npm 설치 및 사용
생활코딩 Node.js 강의
에플리케이션에서 부품으로 사용할 로직인 모듈에 대해서 알아보고 모듈을 편리하게 관리하는 기술인 NPM을 사용하는 기본적인 방법을 알아본다.
npm 소개
- npm = Node Package Manager
- Nodejs은 다양한 모듈을 제공한다.
- Nodejs 시스템 에서만 쓸수 있는 모듈 (ex. HTTP, OS)
- Javascript 라는 언어가 제공하는 모듈 (ex. Date, String, Array, Math)
- npm은 Node 계의 앱스토어!
- 모듈의 설치, 삭제, 업그레이드, 의존성 관리
- npm은 다른 사람의 sw를 가져와서 연결시키는 연결자의 역할을 하고 있다. 따라서 nodejs 생태계의 중심에는 npm이 있다고 할 수 있다.
- npm 사이트
npm 앱 설치 예시
- npm 소프트웨어 패키지의 종류
- 부품 모듈
- 독립적으로 동작하는 앱
npm으로 독립적으로 동작하는 앱 설치 - uglify-js
npm을 사용해서 nodejs로 만들어진 sw를 사용하는 방법
- npm 사이트에서
uglify-js
검색 -
install (터미널)
npm install uglify-js -g // -g 는 global의 약자, 컴퓨터 전역에서 사용하는 독립적인 sw로 사용 npm install uglify-js // local로 간주, 현재 프로젝트 안에서 부품으로 사용
-
pretty.js 파일 작성
function hello(name){ console.log('Hi,'+name); } hello('siwa');
- uglify-js 실행
- 사용방법 npm 패키지 문서
- Usage :
uglifyjs [input files] [options]
- options 예시
- -o, –output : Output file (파일저장)
- -m, –mangle : Mangle names/pass mangler options (변수명을 1글자로 변경)
-
실행 (터미널)
$ uglifyjs pretty.js -m -o pretty.min.js
-
결과 (pretty.min.js 파일 내용)
function hello(l){console.log("Hi,"+l)}hello("siwa");
- Usage :
- 사용방법 npm 패키지 문서
npm으로 부품 모듈 설치 - underscore
다른사람이 만든 소프트웨어(모듈)을 자신의 소프트웨어의 부품으로 사용하는 방법
-
npm 사이트에서
underscore
검색 - 모듈 설치전 준비사항 (프로젝트 폴더의 npm 패키지 초기화)
- npm을 설치할 프로젝트 디렉토리 자체를 npm의 패키지로 먼저 지정
- 터미널에서 프로젝트 폴더로 이동 후
npm init
입력 - entry point : 만든 패키지에 여러가지 js 파일이 있을 수 있는데, 그 중에서 어떤 파일이 해당 패키지를 구동시키는 js 인지 지정 (나중에 변경 가능) > 해당 정보는
package.json
에 저장됨 npm init
을 통해 npm의 패키지로 지정한 프로젝트 디렉토리는 www.npmjs.com에 등록하여 배포할 수 있게됨
- 터미널에서 프로젝트 폴더로 이동 후
- npm을 설치할 프로젝트 디렉토리 자체를 npm의 패키지로 먼저 지정
- 모듈 설치 (터미널)
npm install underscore --save
- –save 옵션(플래그)를 붙여서 입력
- –save 옵션을 통해
package.json
안에dependencies(의존성) 항목
으로 명시적으로 추가 됨"dependencies": { "underscore": "^1.8.3" }
- dependencies가 있으면 새로운 폴더에 프로젝트를 다시 시작한다고 해도 해당 dependencies가에 해당되는 모듈을 쉽게 가져올 수 있음
- 어떠한 모듈을 항상 프로젝트에 포함시킬때는
**--save 옵션을 넣는게 좋음**
- 일시적으로 사용하는 모듈은 –save 옵션 필요 없음
- npm은 underscore 패키지를 다운로드 받아서 프로젝트 폴더 안에 포함시킴 (/node_modules/underscore)
모듈 사용법 - underscore
다른사람이 만든 소프트웨어(모듈)을 자신의 소프트웨어의 부품으로 사용하는 방법
underscore
는 아주 유명한 라이브러리 underscore 가이드문서- underscore.js 문서 작성
- require() 함수를 통해 underscore 라이브러리 적용
var _ = require('underscore');
// require 함수를 통해 underscore 모듈을 가져와서 객체를 리턴한다.
// 리턴한 객체를 변수 _ 에 담는다.
var arr = [3, 5, 9, 1, 12];
console.log(arr[0]); // 3
console.log(_.first(arr)); //3
// 자바스크립트가 가진 배열의 underscore 라이브러리가 기능을 보충하는 역할
console.log(arr[arr.length-1]); // 12
console.log(_.last(arr)); // 12