서비스에 필요한 패키지를 하나씩 추가하다 보면 패키지 수가 100개를 훌쩍 넘어 버리게 됩니다.
그리고 사용할 패키지는 저마다 고유한 버전이 있으므로 어딘가에 기록해두어야겠죠?
같은 패키지라도 버전별로 기능이 다를 수 있으므로 동일한 버전을 설치하지 않으면 문제가 생길 수 있기 때문이죠!
이 때 설치한 패키지의 버전을 관리하는 파일이 바로!! **package.json
**입니다!
따라서 프로젝트 초기 세팅 시 package.json부터 만들고 시작하는 것이 좋습니다.
npm init
명령어를 통해 package.json을 만들 수 있습니다.
{
"name": "back",
"version": "1.0.0",
"main": "src/index.js",
"scripts": {
"dev": "ts-node src",
"build": "tsc && node dist"
},
"dependencies": {
"bcryptjs": "^2.4.3",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"express-validator": "^6.10.0",
"gravatar": "^1.8.1",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.12.3"
},
"devDependencies": {
"@types/bcryptjs": "^2.4.2",
"@types/express": "^4.17.11",
"@types/mongoose": "^5.10.4",
"@types/node": "^14.14.37",
"ts-node": "^9.1.1",
"typescript": "^4.2.3"
},
"author": "",
"license": "ISC",
"description": ""
}
name : 패키지 이름
version : 패키지의 버전
main : entry point, 자바스크립트 실행 파일 진입점
scripts : 코드를 실행할 때 사용하는 명령어 모음
license : 해당 패키지의 라이선스
<aside> 💡 라이선스란? 오픈 소스라고 해서 모든 패키지를 아무런 제약 없이 사용할 수는 없습니다! 라이선스별로 제한 사항이 있으므로 설치 전에 반드시 라이선스를 확인해야 합니다!
</aside>
dependencies : 다운받은 라이브러리 모음
devDependencies : 다운받은 개발용 라이브러리 모음