본문 바로가기

Webpack

[NPM] dependencies와 devDependecies의 차이

dependencies란?

package.json이라는 파일안에 들어가면, dependencies에 우리가 npm i라는 명령어를 통해서 설치된 라이브러리들이 들어가 있는 것을 볼 수 있다. dependencies는 우리가 어플리케이션을 배포할 때, 사용할 라이브러리들이 담겨있는 곳이다. 그러니까 어플의 로직구현과 관련이 있고, 화면의 동작을 도와주는 라이브러리들이 저장되는 곳이다. 

dependencies

 

devDependencies란?

그리고 devDependencies에는 우리 어플가 어플을 개발할 때, 보조해주는 라이브러리들이 저장된다. 예를 들어 웹팩이라던가, js-compression이라던가, 번들 분석기라던가. 이렇게 어플의 로직과는 직접적인 연관이 없는 라이브러리들이 설치된다. 

devDependencies/ 번들 분석기가 들어가있다.

보통 이렇게 devDependencies에 설치를 하려고 할 때는 npm i somethis -D를 붙여서 설치를 한다. 뒤에 -D를 붙이면 dev에 넣겠다는 말이다. 

 

개발용과 배포용 라이브러리를 구분해서 저장하는 이유 

이렇게 개발용 라이브러리와 배포용 라이브러리를 구분하는 이유는 어플을 빌드하고 배포할 때,

dev에 들어가있는 개발용 라이브러리는 포함시키지 않고 빌드하기 때문이다. 

때문에 어플의 로직과 연관이 없다고 판단되는 라이브러리가 있다면 dev에 넣는 것이 좋다. 

 

 

'Webpack' 카테고리의 다른 글

NPM의 정의와 NPM을 사용하는 2가지 이유  (0) 2021.09.09