Package.json

박찬효·2022년 9월 10일
0
post-thumbnail
post-custom-banner

package.json

  • package.json 파일에는 프로젝트와 관련된 메타 데이터가 담깁니다.

  • package.json은 npm에 있는 패키지를 주고 받는 상세 설명서라고 할 수 있습니다.

  • 패키지의 이름, 버전, 데이터 등이 담긴 파일이 바로 package.json입니다.

구성 요소

  • package.josn은 확장자로 알 수 있듯, json파일로 속성-값의 쌍으로 이루어져 있습니다.

  • npm에서 이 속성을 field라고 표현하고 있다.

기본 구성 요소

$ npm init -y
yarn add install

처음 기본 설정 값으로 생성하게 된다면,

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

name

  • name과 version 은 필수로 입력되어야 하며 이 항목들이 누락되면 패키지를 설치할 수 없습니다.

  • name과 version을 통해서 각 패키지의 고유성을 판별하게 되고 패키지의 내용을 변경하려면 version을 변경해야 합니다.

  • name은 반드시 214자 보다 짧아야 하고, 이는 scoped package의 scope를 포함합니다.

  • name은 점(.)이나 밑줄(_)로 시작할 수 없습니다.

  • name은 대문자를 포함해서는 안됩니다.

version

  • version은 반드시 npm의 디펜더시에 포함된 node-semver로 파싱 가능해야 합니다.

description

  • 문자열로 기술한 패키지에 대한 설명

  • npm에서 검색되었을 때 리스트에 표시되어 사람들이 패키지를 찾아내고 이해할 수 있는데 도움을 준다.

main

  • 패키지의 진입점이 되는 모듈의 ID이다.

  • 패키지의 root의 상대경로로 지정해야 한다.

  • 지정하지 않은 경우, root 폴더의 index.js로 기본값이 설정된다.

scripts

  • 패키지의 생명주기 중 다양한 타이밍에서 실행되는 script 명령들을 포함하고 있는 사전이다.

  • scripts 항목 객체에서 키는 이벤트이고, 값은 이때 실행될 커맨드이다.

keywords

  • 키워드를 문자열 배열로 설명한다.

  • npm search 로 검색된 리스트에 표시되기 때문에 사람들이 만든 패키지를 찾아 내고 이해하는 데 도움이 된다.

license

  • 패키지 사용자들이 만든 패키지를 사용하기 위해 어떻게 권한을 얻는지, 또 어떤 금기 사항이 있는지 알게하기 위해 라이센스를 명시해야 한다.

  • 다른 사람에게 어떠한 조건에서도 비공개 또는 미공개 패키지를 사용할 수 있는 권한을 부여하고 싶지 않은 경우 unlicense를 적으면 된다.

  • 이외에도 더많은 설정을 위한 field가 있지만 추가적인부분은npm Docs -package.json을 참고 하시길 바란다.

profile
개발자가 되기 위한 1인
post-custom-banner

0개의 댓글