개발자가 배포한 패키지에 대해, 다른 사람들이 이해하고 편히 사용할 수 있도록 작성하는 문서이다. 즉, npm에 패키지를 배포하고 올리기 위해 반드시 필요한 파일이다.
- 자신의 프로젝트가 의존하는 패키지의 리스트
- 자신의 프로젝트의 버전을 명시
- 다른 환경에서도 빌드를 재생 가능하게 만들어, 다른 개발자가 쉽게 사용할 수 있도록 한다.
You can add a package.json file to your package to make it easy for others to manage and install. Packages published to the registry must contain a package.json file.
- lists the packages your project depends on
- specifies versions of a package that your project can use using semantic versioning rules
- makes your build reproducible, and therefore easier to share with other developers
json이란 javascript object notation을 말한다. 즉 자바스크립트의 객체처럼 표현하는 것을 말하고, package.json도 그런 형식으로 작성한다.
우선 생성을 하면 아래형식으로 생성된다.
npm init //또는 yarn init
{
"name": "filename",
"version": "1.0.0",
"description":"이 패키지에 대한 설명작성 가능",
"main": "index.js",
"license": "MIT",
}
이때 name과 version은 반드시 있어야하는 요소로 없으면 패키지 설치가 되지 않는다.
자주 사용하는 command를 별칭을 통해 지정할 수 있다.
{
"name": "day04",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"type": "module",
"dependencies": {
"express": "^4.17.3",
"nodemon": "^2.0.15",
"swagger-jsdoc": "^6.1.0",
"swagger-ui-express": "^4.3.0"
},
"scripts": {
"dev": "nodemon index.js"
}
}
yanr dev//yarn에서 nodemon을 통해 index.js 파일을 추적하며 실행한다.
유능한 개발자가 되기 위해선 설명도 잘해야하는 것 같다... 이해할 때까지 반복하자!