package.json

진영민·2023년 1월 18일
0

잡다한 상식

목록 보기
13/22

당신이 node를 설치했다면!
npm(node package manager)가 자동으로 설치될 것이다!

또한, 원하는 프로젝트 폴더에 npm init을 한다면, 해당 프로젝트에 대한 옵션들을 설정할 수 있다.

package.json

name

프로젝트(패키지)이름. 다른 모듈과 동일한 이름은 피해야 한다.

verison

semantic version for npm을 따르며, 1.0.0 등의 숫자 3개로 정의된다.
1.0.0으로 시작하며
첫번째 숫자는 Major patch를 의미하며, 이전 버전과 호환되지 않을 수 있다.
두번째 숫자는 Minor patch를 의미하며, 하위 호환이 되는 버전이다.
세번째 숫자는 bug fix등의 patch를 의미한다.

<는 버전보다 작은 범위를 의미하고
<=는 버전보다 작거나 같은 범위를 의미하며
>는 버전보다 큰 범위,
>=는 버전보다 크거나 같은 범위,
=는 같은 범위,
^는 같은 Major 범위(Minor level 차이)
~는 같은 Minor 범위(patch level 차이)를 의미한다.

description

프로젝트(패키지) 설명.

이후 npm에 배포할 때 사용한다.

keywords

프로젝트(패키지) 키워드.

이후에 npm에 배포할 때 사용하며, 해당 키워드로 패키지를 검색할 수 있다.

{
	"keywords": [
    	"search",
        "keyword"
    ]
}

homepage

프로젝트 홈페이지로 연결되는 url이다.

bugs

버그를 발견했을 때 보고 할 이메일 주소 등을 기록한다.

license

잘 정리되어 있는 블로그
MIT license가 가장 느슨한 조건을 가지기 때문에 인기가 많다.

author

제작자의 이름

files

패키지가 의존성으로 설치될 때 같이 포함될 파일.
생략하면 자동 제외되는 파일을 제외한 모든 파일이 포함된다.

{
	"files": [
    	".env",
        "tests/"
    ]
}

main

프로그램의 entry point를 지정한다.
index.js가 default로 설정되어있다.

repository

코드가 존재하는 장소를 지정한다.

{
	"repository":{
    	"type":"git",
    	"url":"https://github......"
    }
}

script

스크립트 명령을 저장할 수 있다.

{
	"scripts":{
    	"start":"node index.js",
        "test":"node test.js",
        "dev":"webpack-dev-server"
    }
}

npm startnode index.js와 동일하게 동작한다.

dependencies

패키지 배포 시 포함될 의존성 모듈

$ npm install express
$ npm i express
등의 방법으로 설치할 경우 이에 포함된다.

devDependencies

패키지 개발 시 포함될 의존성 모듈

$ npm install --save-dev morgan
$ npm i -D morgan
등의 방법으로 설치할 경우 이에 포함된다.

engindes

패키지가 작동하는 Node 버전을 지정한다.

private

npm에서 패키지의 공개 여부를 지정한다.

package-lock.json

package.json의 의존성에는 범위가 저장된다.
만약 package.json 의존성에 "^4.16.3"으로 설정되어있으면
4.16.3, 4.17.3 등의 버전이 설치될 수 있다.
semantic version for npm에 따르면 첫번째 숫자가 바뀌지 않는 이상 호환이 되어야 하지만, 그렇지 않은 경우가 있어 package-lock.json 파일이 작성된 시점의 의존성을 보장한다.

profile
코린이

0개의 댓글