당신이 node를 설치했다면!
npm(node package manager)가 자동으로 설치될 것이다!
또한, 원하는 프로젝트 폴더에 npm init
을 한다면, 해당 프로젝트에 대한 옵션들을 설정할 수 있다.
프로젝트(패키지)이름. 다른 모듈과 동일한 이름은 피해야 한다.
semantic version for npm을 따르며, 1.0.0 등의 숫자 3개로 정의된다.
1.0.0으로 시작하며
첫번째 숫자는 Major patch를 의미하며, 이전 버전과 호환되지 않을 수 있다.
두번째 숫자는 Minor patch를 의미하며, 하위 호환이 되는 버전이다.
세번째 숫자는 bug fix등의 patch를 의미한다.
<
는 버전보다 작은 범위를 의미하고
<=
는 버전보다 작거나 같은 범위를 의미하며
>
는 버전보다 큰 범위,
>=
는 버전보다 크거나 같은 범위,
=
는 같은 범위,
^
는 같은 Major 범위(Minor level 차이)
~
는 같은 Minor 범위(patch level 차이)를 의미한다.
프로젝트(패키지) 설명.
이후 npm에 배포할 때 사용한다.
프로젝트(패키지) 키워드.
이후에 npm에 배포할 때 사용하며, 해당 키워드로 패키지를 검색할 수 있다.
{
"keywords": [
"search",
"keyword"
]
}
프로젝트 홈페이지로 연결되는 url이다.
버그를 발견했을 때 보고 할 이메일 주소 등을 기록한다.
잘 정리되어 있는 블로그
MIT license가 가장 느슨한 조건을 가지기 때문에 인기가 많다.
제작자의 이름
패키지가 의존성으로 설치될 때 같이 포함될 파일.
생략하면 자동 제외되는 파일을 제외한 모든 파일이 포함된다.
{
"files": [
".env",
"tests/"
]
}
프로그램의 entry point를 지정한다.
index.js가 default로 설정되어있다.
코드가 존재하는 장소를 지정한다.
{
"repository":{
"type":"git",
"url":"https://github......"
}
}
스크립트 명령을 저장할 수 있다.
{
"scripts":{
"start":"node index.js",
"test":"node test.js",
"dev":"webpack-dev-server"
}
}
npm start
는 node index.js
와 동일하게 동작한다.
패키지 배포 시 포함될 의존성 모듈
$ npm install express
$ npm i express
등의 방법으로 설치할 경우 이에 포함된다.
패키지 개발 시 포함될 의존성 모듈
$ npm install --save-dev morgan
$ npm i -D morgan
등의 방법으로 설치할 경우 이에 포함된다.
패키지가 작동하는 Node 버전을 지정한다.
npm에서 패키지의 공개 여부를 지정한다.
package.json의 의존성에는 범위가 저장된다.
만약 package.json 의존성에 "^4.16.3"으로 설정되어있으면
4.16.3, 4.17.3 등의 버전이 설치될 수 있다.
semantic version for npm에 따르면 첫번째 숫자가 바뀌지 않는 이상 호환이 되어야 하지만, 그렇지 않은 경우가 있어 package-lock.json 파일이 작성된 시점의 의존성을 보장한다.