NPM(Node Package Manager)는 명령어로 자바스크립트 라이브러리를 설치하고 관리할 수 있는 패키지 매니저입니다. npm 공식 사이트에 공개된 수많은 자바스크립트 라이브러리를 npm 명령어로 쉽고 편하게 다운로드하여 사용이 가능합니다.
npm init
package.json 생성
npm init -y
package.json 기본 값으로 생성
npm install [package name]
라이브러리 지역 설치
지역 설치 시 해당 프로젝트의 node_modules 폴더가 생성되고 폴더 아래 해당 라이브러리 파일들이 설치됩니다.
npm uninstall [package name]
package 삭제
npm install [package name] --global or -g
라이브러리 전역 설치
전역 설치는 위와 같이 프로젝트에서 사용할 라이브러리를 불러올 때 사용하지 않고 시스템 레벨에서 사용할 라이브러리를 설치할 때 사용합니다.
전역으로 설치된 라이브러리 경로 확인
#mac
/usr/local/lib/node_modules
터미널에서 cd /usr/local/lib/node_modules
해당 경로로 이동 후 open .
명령어를 입력해 폴더를 열어보면 전역으로 설치된 라이브러리 목록들을 확인할 수 있습니다.
프로젝트에서 사용하는 많은 라이브러리의 버전과 의존성 관리가 편하다.
사용하고자 하는 라이브러리의 cdn을 따로 붙여넣지 않고 npm install 명령어를 통해 프로젝트 로컬 환경 및 전역 환경에 쉽고 빠르게 라이브러리 설치하고 사용이 가능하다.
npm install vue --save-prod // 배포용 dependencies
npm install vue --save-dev // 개발용 devDependencies
// 위 명령어의 축약형
npm i vue // 배포용 dependencies
npm i vue -D // 개발용 devDependencies
dependencies와 devDependencies의 차이점
배포용 라이브러리(dependencies)는 앱의 화면 로직과 직접적인 관련이 있는 라이브러리들을 의미합니다. 설치된 배포용 라이브러리는 npm run build
로 빌드를 하면 최종 애플리케이션 코드 안에 포함됩니다.
ex) react, chart ...
개발용 라이브러리(devDependencies)는 개발을 할 때 도움을 주는 라이브러리들을 의미합니다.
프로젝트를 빌드하고 배포할 때 최종 애플리케이션 코드에서 제외됩니다.
즉, 최종 애플리케이션에 포함되어야 하는 라이브러리는 개발용 라이브러리로 설치하면 안됩니다.
ex) webpack, js-compression, es-lint ...