1. package.json이란?
- 배포한 모듈 정보를 담고 있다.
- 기본적으로 CommonJS의 명세를 충실히 따르고 있으며 JSON형식의 파일이다.
- 직접 작성할 수도 있고, 나는 yarn을 쓰니까, yarn init을 통해서 생성할 수도 있다.
{
"name" : "test",
"description" : "javascript's test programming.",
"keywords" : ["util", "f", "server", "client", "browser"],
"author" : "Goorm",
"contributors" : [],
"dependencies" : [],
"repository" : {"type": "git", "url" : "git://gitbub.com/documentcloud/test.git" },
"main" : "test.js",
"version" : "1.1.6"
}
- 위 코드는 package.json파일의 예제이다. 다음으로는 하나하나의 의미를 알아 보자.
2. package.json의미
- 프로젝트 이름으로써 가장 중요하다.중앙 저장소에 배포할 때 version과 함께 필수 항목이다.
- url로 사용되고, 설치할 때 디렉토리 이름이 되기 때문에 url이나 디렉토리에서 쓸 수 없는 이름을 사용하면 안된다.
- 이름에 node.js가 들어가면 안된다.
- 214자 보다 짧아야 하며, 점(.)이나 밑줄(_)로 시작할 수 없다.
- 대문자X , require() 함수의 인수로 사용되며 짧고 알기 쉬운것으로 짓는게 좋다.
- version : 프로젝트 버전을 정의한다. 3단계 버전을 사용하며, -로 태그 이름을 적을 수 있다.
- 프로젝트 설명으로, 문자열로 기술 한다.
- 사람들이 패키지를 찾아내고 이해하는데 도움이 된다.
- keywords : 프로젝트를 검색할 때 참조되는 키워드이다.
- 프로젝트 홈페이지 주소이다.
- url 항목과는 다르며, url을 설정하면 예상치 못한 움직임을 하게 되므로 주의하자.
- author : 프로젝트 작성자 정보로, 한 사람만을 지정한다. JSON 형식으로 name, email, url 옵션을 포함한다.
- contributors : 프로젝트에 참여한 공헌자 정보로, 여러 사람을 배열로 지정할 수 있다.
- 프로젝트의 소스 코드를 저장한 저장소의 정보
- 소스 코드에 참여하고자 하는 사람들에게 도움이 될 수 있다. 프로젝트의 홈페이지 url을 명시해서는 안된다.
- scripts : 프로젝트에서 자주 실행해야 하는 명령어를 scripts로 작성해두면 yarn 명령어로 실행 가능하다.
ex) 내가 쓰는 것 : "dev" : "yarn nodemon index.js"
- config : 소스 코드에서 config 필드에 있는 값을 환경 변수처럼 사용할 수 있다.
- private : 이 값을 true로 작성하면 중앙 저장소로 저장하지 않는다.
마무리
=> 배울 때는 왜 있는 건지 잘 몰랐지만, 공부를 해보면서 무엇 인지에 대해서 알고 이해하게 되었다.