package.json 생성한 프로젝트의 메타정보와 이 프로젝트가 의존하고 있는(설치한) 모듈들에 대한 정보들을 json 형태로 모아놓은 파일입니다. package.json을 보면 npm, yarn을 통해 설치한 패키지들의 이름, 버전, 데이터 등을 확인할 수 있습니다.
package.json파일이 있으면 한번의 명령어로 필요한 패키지들을 모두 설치할 수 있습니다.
※ pakage.json 파일이 있으면 git commit 시에는 node_modules를 지우고 커밋이 가능합니다. yarn install 또는 npm install을 하면 한번에 설치 가능합니다.
※ node_modules 라는 디텍토리가 같이 생성되는데, node_modules 디텍토리에는 package.json파일 속 모듈들 뿐만아니라 그 모듈이 의존하고 있는 모듈들까지 전부 포함하고 있습니다.
Name
프로젝트 이름으로 version과 함께 필수 항목이다
대문자가 아니고 url이나 디렉터리에서 쓸수 없는 이름을 사용하면 안됩니다. 또한
node나 js를 포함할 수 없다.
version
프로젝트 버전을 정의합니다. - 로 태그 이름을 적을 수 있습니다.
description
프로젝트 설명
repository
프로젝트의 소스 코드를 저장한 저장소의 정보입니다.
소스 코드에 참여하고자 하는 사람들에게 도움이 될 수 있습니다. 프로젝트의 홈페이지 url을 명시해서는 안 됩니다.
scripts
프로젝트에서 자주 실행해야 하는 명령어를 scripts로 작성해두면 npm 명령어로 실행 가능합니다.
private
이 값을 true로 작성하면 중앙 저장소로 저장하지 않습니다.
author
프로젝트 작성자 정보로, 한 사람만을 지정합니다. JSON 형식으로 name, email, url 옵션을 포함합니다.
dependencies
프로젝트 의존성 관리를 위한 부분입니다. 이 프로젝트가 어떤 확장 모듈을 요구하는지 정리할 수 있습니다.
일반적으로 package.json에서 가장 많은 정보가 입력되는 곳입니다.
애플리케이션을 설치할 때 이 내용을 참조하여 필요한 확장 모듈을 자동으로 설치합니다.
따라서 개발한 애플리케이션이 특정한 확장 모듈을 사용한다면 여기에 꼭 명시를 해주어야 합니다.
또한, npm install 명령은 여기에 포함된 모든 확장 모듈들을 설치하게 되어 있습니다.