npm

npm 이란?

  • 자바스크립트 패키지 설치를 도와주는 툴입니다.

npm 사용방법

node.js 설치 & package.json 생성

npm은 node.js에 포함되어 있기 때문에
https://nodejs.org/ko/ 로 들어가서 LTS 버전을 설치합니다.
설치가 끝나면 버전을 확인한다.

npm --version

프로젝트 폴더 루트에 package.json 파일을 만든다.

touch package.json

or

npm init

패키지 설치 dependencies vs devDependencies

패키지는 https://www.npmjs.com/ 에서 검색한 뒤 설치한다.
npm은 누구나 패키지 업로드가 가능한 환경이라 꼭 패키지 정보를 확인하고 설치를 해야한다.
패키지 정보를 확인했으면 다시 프로젝트로 돌아와서 npm install 패키지명 으로 설치합니다.

npm install jquery

설치가 끝나면 package.json 에 dependencies 항목이 생겼고 그 안에 jquery가 추가됐습니다.
이번에는 npm install 패키지명 --save-dev 으로 설치합니다.

npm install jquery --save-dev

설치가 끝나면 package.json 에서 jquery가 dependencies 항목에서 devDependencies 항목으로 이동한 것을 볼 수 있다.
dependencies는 동작에 필요한 항목,
devDependencies는 개발에 필요한 항목을 나열한다.
설치된 패키지는 node_modules 디렉토리에 들어갑니다.
npm install은 각 패키지의 package.json을 확인해서 의존성이 걸린 모든 패키지들을 설치해줍니다.

패키지 삭제

설치한 패키지를 삭제하려면 npm uninstall 패키지명

npm 장점

npm을 사용하면 더이상 외부소스를 개별로 다운로드 받아 프로젝트에 포함시킬 필요없이
이렇게 커맨드라인으로 쉽게 설치하고
웹팩으로 번들링하여 프로젝트에 사용하거나
node.js로 만든 어플리케이션에 사용할 수 있습니다.

package.json scripts

package.json 파일 scripts 항목에 "dev" : "echo hello" 라고 정의해 놓고
커맨드창에 npm run dev 라고 치면 hello가 출력된다.

npm Semantic versioning

패키지를 만들어 배포하는 주체가 너무 다양하다보니
버전을 부여하는 기준이 제각각이어서
버전관리 기준을 만들어 놓은 것이다.
3.4.1
첫번째 숫자는 메이저 버전
두번째 숫자는 마이너 버전
세번째 숫자는 패치 버전이다.
기존 버전에서 버그가 수정됐다면 패치 버전이 올라간다.
기존 버전에서 호환이 되는 상태에서 기능이 추가되면 마이너 버전이 올라간다.
기존 버전과 호화되지 않는 상태에서 전체적인 변경이 되었다면 메이저 버전이 올라간다.
메이저 버전이 0이면 아직 개발중인 버전이다. 일종의 베타 버전이다.
npm은 semantic versioning을 권장하고 있어 의존성 관리가 수월하다.
버전명 앞에 꺽쇠 ^ 는 프로젝트에 사용할 버전 범위를 나타냅니다.
npm install jquery@2.1.0 @ 을 붙여서 특정버전을 설치할 수 있다.
npm update 로 설치한 패키지의 최신 버전을 설치할 수 있다.
^ 없이 버전만 적으면 해당 버전만 허용하겠다는 의미이다.
> 은 초과
>= 이상
< 미만
<= 이하
이렇게 허용할 범위를 지정한다.