package.json
파일에서 dependencies
와 devDependencies
는 프로젝트의 패키지를 관리하는 두 가지 주요 섹션입니다. 이들은 각각 다른 목적을 가지고 있으며, 사용 용도에 따라 패키지를 구분하여 설치합니다.
dependencies
섹션은 애플리케이션이 실행되는 동안 필요한 패키지를 나열합니다. 이러한 패키지는 프로덕션 환경에서도 반드시 필요합니다. 예를 들어, 애플리케이션이 사용자에게 제공되거나 서버에서 실행될 때 필요한 라이브러리들입니다.
devDependencies
섹션은 개발 중에만 필요한 패키지를 나열합니다. 이러한 패키지는 프로덕션 환경에서는 필요하지 않으며, 개발, 테스트, 빌드 과정에서만 사용됩니다.
{
"name": "example-project",
"version": "1.0.0",
"description": "An example project",
"main": "index.js",
"scripts": {
"build": "webpack",
"test": "jest"
},
"dependencies": {
"react": "^17.0.2",
"express": "^4.17.1"
},
"devDependencies": {
"webpack": "^5.37.1",
"babel-core": "^6.26.3",
"jest": "^26.6.3",
"eslint": "^7.26.0"
}
}
dependencies에 넣어야 하는 경우:
devDependencies에 넣어야 하는 경우:
dependencies
에 패키지를 설치하려면 yarn add
또는 npm install
명령어를 사용합니다.
yarn add react
npm install react
devDependencies
에 패키지를 설치하려면 yarn add --dev
또는 npm install --save-dev
명령어를 사용합니다.
yarn add --dev jest
npm install --save-dev jest
이러한 구분을 통해 프로젝트의 의존성을 명확히 관리할 수 있으며, 프로덕션 빌드에서 불필요한 패키지가 포함되는 것을 방지할 수 있습니다.