NPM은 Node Package Manager의 약자로 말 그대로 NodeJS에 필요한 패키지들을 관리한다.
NPM을 통해 패키지 (package) 또는 모듈 (module) 이라고 불리는 자바스크립트 소프트웨어를
자신의 프로젝트에 설치할 수 있다.
또한 NPM을 통해 프로젝트에서 사용 중인 패키지들의 버전 업데이트도 관리할 수 있다.
Package란??
프로그램의 구성요소 중 특정 기능을 수행할 수 있는 코드의 집합(라이브러리)
EX) Angular, React, JQuery, Express, ...
(1) 프로그램을 제작 시 어떤 기능을 구현할 때 자신이 직접 프로그래밍을 하지 않아도
동일한 기능의 남이 만들어놓은 코드를 쉽게 사용이 가능하다.
(2) 코드의 재사용성이 높아지고 유지 보수가 쉬워질뿐더러 형상관리가 용이해진다.
프로젝트 내에서 NPM을 사용하기 위해선 프로젝트 내에 package.json 파일이 있어야 한다.
만약 package.json이 존재하지 않는다면 Terminal을 이용해서
npm init
명령어를 입력하여 package.json을 생성할 수 있다.
npm init 과정 완료 후, package.json파일 코드package.json이란??
프로젝트의 정보와 프로젝트가 의존하고 있는 패키지에 대한 정보가 저장되어 있는 파일
Key | Value |
---|---|
name | 프로젝트 이름 |
version | 프로젝트 버전을 정의 |
description | 프로젝트 설명, 문자열로 기술 |
keywords | 프로젝트를 검색할 때 참조하는 키워드 |
homepage | 프로젝트 홈페이지 주소 |
author | 프로젝트 작성자 |
contributors | 프로젝트에 참여한 공헌자 정보 |
respository | 프로젝트의 소스 코드를 저장한 저장소의 정보 |
scripts | 프로젝트에서 자주 실행해야 하는 명령어를 scripts로 작성해두면 npm 명령어로 실행 가능 |
private | true로 작성 시 중앙 저장소로 저정하지 않음 |
dependencies | 프로젝트가 어떤 확장 모듈을 요구하는지 정리 |
devDependencies | 개발할 때만 의존하는 확장 모듈 관리 |
engine | 실행 가능한 노드 버전의 범위 |
package.json은 npm을 통해 생성되는 node 관련 component들의 dependency를 관리하는 모듈로써, Maven Project의 pom.xml과 비슷한 역할이라 생각하면 이해가 쉬울 수 있다.
NPM의 대표적인 모듈인 Express를 설치해 보도록 하겠다.
NPM을 통해 모듈을 설치하는 방법은
npm install [module][option]
Express를 설치해보자.
npm install express --save
여기서 --save 옵션은 package.json에 node module 정보를 바로 등록하는 옵션이다.
성공적으로 Express 모듈 설치