패키지 매니저(npm, yarn)를 사용하여 라이브러리를 설치하면 package.json 파일이 생성된다.
이 파일을 열어보면 dependencies와 devDependencies라는 두 가지 주요 항목을 확인할 수 있다.
npm install [라이브러리명]
yarn add [라이브러리명]
위와 같은 명령어를 통해 설치된 라이브러리는 dependencies에 추가된다.
dependencies에는 애플리케이션의 동작에 직접적으로 영향을 미치며, 배포 시에도 필요한 라이브러리들이 포함된다.
즉, 프로덕션 환경에서도 사용되는 필수 라이브러리가 dependencies에 들어간다고 보면 된다.
예를 들어, React 프로젝트에서는 react, react-dom과 같은 라이브러리들이 dependencies에 포함된다.
npm install 라이브러리명 --save-dev
npm install 라이브러리명 -D
위와 같은 명령어로 설치된 라이브러리는 devDependencies에 추가된다.
devDependencies는 애플리케이션의 동작과 직접적인 연관은 없지만, 개발 과정에서 필요한 라이브러리들을 포함한다.
예를 들어, 코드 품질을 개선하는 eslint, 코드 스타일을 정리해 주는 prettier 등은 실제 애플리케이션 로직과 무관하므로 devDependencies에 포함하는 것이 일반적이다.
따라서 직접적인 관련이 없는 라이브러리는 devDependencies에 포함하는 것이 좋다.
https://pusha.tistory.com/entry/devDependencies-vs-Dependencies-비교
https://www.codeit.kr/community/questions/UXVlc3Rpb246NjBlNmQwN2I2ZjU1NDAxYWEyNzAyYjE1
https://80000coding.oopy.io/fb570d89-1874-424c-b0d2-5cf2bada3867
https://velog.io/@remon/dependencies-와-devDependencies-차이