매일 프로젝트를 하며 숨쉬듯이 봐온 webpack, npm이지만 이게 뭔지도 모르고 사용하는 것 같았다. 여러 라이브러리를 사용하면서 내가 어떤 라이브러리를 설치했는지 잘 모르겠고 이걸 어떻게 관리해야하는지도 몰라서 이에 대해 공부해보고자 한다.
: 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. 즉, 쉽게 말해서 자바스크립트 라이브러리 관리해주는 도구라고 말할 수 있다.
node -v // 노드 버전확인
npm -v // npm 버전 확인
npm init
npm init -y //자동 설치
: 위와 같이 초기화를 해주면 해당 프로젝트(폴더)에 아래와 같은 package.json파일이 생성된다.
{
"name": "demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
위 구조는 가장 기본적인 구조이며 실제 애플리케이션을 만들 때 자주 사용되는 속성은 다음과 같다.
- scripts
- dependencies
- devDependencies
npm install
npm i
npm uninstall
라이브러리간의 의존관계들, 특정 라이브러리가 다른 라이브러리에 영향을 줄 수도 있기에 라이브러리 관리를 해줘야 한다. (특히, 굉장히 많은 라이브러리를 사용할 때)
위의 방식대로 설치한 라이브러리들은 모두 지역 라이브러리로 취급된다.
라이브러리 전역 설치
npm install (라이브러리 이름) --global
// = npm install (라이브러리 이름) --g
: 설치 이후에 해당 라이브러리 이름을 입력하면 명령어로 인식한다.
전역 설치(시스템 레벨에 설치)하게 되면 시스템에서 제공하는 CLI, 명령어 기능을 활용할 수 있다.
라이브러리 전역 설치 경로(항상 일치한다.)
# window
%USERPROFILE%\AppData\Roaming\npm\node_modules
# mac
/usr/local/lib/node_modules
라이브러리 지역 설치 경로
해당 프로젝트\node_modules\
라이브러리 지역 설치 옵션
npm install (library) --save-dev
npm i (library) -D
dependencies
devDependencies
설치된 배포용 라이브러리는 npm run build로 빌드를 하면 최종 애플리케이션 코드 안에 포함된다. 하지만, 개발용 라이브러리는 빌드 후 배포할 때 애플리케이션 코드에서 빠지게 된다.
만약, 구분하지 않는다면 빌드하는데 시간이 오래걸리게 된다.