package.json

TEDDY·2022년 11월 7일
0

CODECAMP

목록 보기
6/53
post-thumbnail

package.json

:기본적으로는 package.json은 문서다.
개발자가 배포한 패키지에 대해, 다른 사람들이 관리하고 설치하기 쉽게 하기 위한 문서.
npm에 패키지를 배포하고 npm registry에 올리기 위해서 반드시 필요한 문서파일이다.

자신의 프로젝트가 의존하는 패키지의 리스트
자신의 프로젝트의 버전을 명시
다른 환경에서도 빌드를 재생 가능하게 만들어, 다른 개발자가 쉽게 사용할 수 있도록 한다.

feat.npmdocs

npm

:Node Package Manager의 약자로 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. node.js에서 사용하는 모듈들을 패키지로 만들어 관리하고 배포하고 있다.

기본 구성 요소

: 처음 기본 설정 값으로 package.json을 생성하면

{
  "name": "PROJECT_DIRECTORY",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

위와 같이 생성된다. npm을 사용하는데 기본적으로 필요한 field니까 생성해 줬다고 생각한다.

“name”, “version”
npm에 따르면, “name”과 “version”은 반드시 있어야 하는 fields이다.
이 fields가 누락되면 패키지는 설치될 수 없다.

"name" : 말그대로 이 패키지의 이름을 나타낸다. 이름에는 규칙이 있다.

기본 규칙

소문자로 작성되어야 한다.
한 단어로 작성되어야 한다.
-(하이픈)이나 _(언더스코어)를 포함할 수 있다.

"version": semantic versioning guidelines를 따르며, x.x.x의 형태로 작성해야한다.

간단히 말하면, [Major].[Minor].[Patch]의 형태를 따른다.

“description”
: 문자열로 기술한 패키지에 대한 설명. npm에서 검색되었을 때 리스트에 표시되어 사람들이 패키지를 찾아내고 이해할 수 있는데 도움을 준다.

“main”
: 패키지의 진입점(entry point)이 되는 모듈의 ID이다.

예를 들어, 사용자가 foo라는 이름의 패키지를 설치하고, require("foo")를 통해 모듈을 import하면, "main"으로 지정한 모듈의 exports 객체가 반환된다.

패키지 root의 상대경로로 지정해야 한다. 지정하지 않은 경우, root 폴더의 index.js로 기본값이 설정된다.

“scripts”
: 패키지의 생명주기에서 다양한 타이밍에 자주 사용할 command를 alias(별칭)을 통해 지정해 둘 수 있는 dictionary

“keywords”
키워드를 문자열 배열로 설명. description과 마찬가지로 npm에서 검색되었을 때 리스트에 표시되어 사람들이 패키지를 찾아내고 이해할 수 있는데 도움을 준다.

“author”
배포자 한 사람을 위한 field로, 다수의 사람을 표시하기 위해서는 “contributors” field로 작성해야 한다.

“license”
배포한 패키지에 대해 패키지 사용자가 패키지를 사용하는데 어떤 권한과 제한 사항이 있는지 알기 위해 license를 명시해야 한다.

0개의 댓글