package.json이란 현재 프로젝트에 관한 정보와 패키지 매니저(npm, yarn)을 통해 설치한 모듈들의 의존성을 관리하는 파일이다.
npm init
yarn init
위의 명령어를 통해 package.json 파일을 생성 가능하며
생성 시 package.json의 기본정보 프로젝트의 대한 간략항 내용을 입력할 수 있게되며
입력하지 않을 시 추후 생성된 package.json파일에서 수정 가능하다
아래는 생성된 package.json 예제이다
// package.json 파일 예제
{
"name": "03-01-rest-api-with-express",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
}
{
"name": "03-01-rest-api-with-express",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"type": "module",
"scripts": { // 명령어 단축키 설정
"dev": "nodemon index.js"
},
"dependencies": { // 설치된 모듈 버전과 이름
"coolsms-node-sdk": "^2.0.1",
"cors": "^2.8.5",
"express": "^4.18.2",
"nodemailer": "^6.9.1",
"nodemon": "^2.0.21",
"swagger-jsdoc": "^6.2.8",
"swagger-ui-express": "^4.6.2"
}
}
위 예제의 주석처럼 dependencies 안에 설치된 모듈의 버전과 이름이 기록되며 추후
npm install
yarn install
아래와 같은 명령어를 실행 시 package.json에 dependencies에 명시되어져 있는 모듈들의 맞는 버전을 모두 재설치 해준다
즉 package.json은 의존성을 모듈을 관리하는 하나의 파일이다.
설치한 모듈들이 차곡차곡 쌓일수록 dependencies에는 다양한 내용들이 추가 되고
package.json 파일 하나로 프로젝트에 필요한 모듈들을 한번에 설치할 수 있다.