개발용과 실제 브라우저에서 동작할 배포용으로 우리가 설치하는 패키지들을 구분해야 하고,
개발용으로 설치시에는 뒤에 save-dev 혹은 패키지 이름 앞에다가 작성해주어야 합니다.
ex) npm install parcel --save-dev === npm install -D parcel
둘은 같은 방식으로 --save-dev 를 -D로 축약해서 사용할 수 있다.
번들어인 parcel에대해 공부하기위해서는 parcel2라고 구글에 검색해서 공부하면 됩니다.
유의적 버전(Semantic Versioning, SemVer)
= 프로젝트가 개발되는 특정한 시점 상태에다가 의미를 부여해서 숫자를 매기는 방법
"dependencies": {
"lodash": "^4.17.21"
},
여기서 4.17.21 이라는 넘버는
첫번째 Major 두번째 Minor 세번째 Patch 라는 이름으로 불립니다.
Major는 기존 버전과 호환되지 않는 새로운 버전입니다. 즉 4버전인 lodash는 3버전인 lodash랑은 호환되지 않는다는 말입니다.
Minor은 기존 버전과 호환되는 기능이 추가된 버전입니다. 즉 16버전이랑도 호환이 된다는 말입니다.
Patch는 버그 및 오타등이 수정된 버전입니다.
여기서 lodash는 ^4.17.21 버전인데
여기서 ^는 => Major 버전 안에서 가장 최신 버전으로 업데이트 가능하다는 말입니다.
즉 4버전은 유지된 상태로 17마이너와 21패치가 바뀔 수 있다는 말입니다.
즉 기존버전과 호환되는 상태에서 수정이 될 수 있다는 말입니다.
만약 ^4.17.20 버전이라면 npm update lodash를 사용하면 ^4.17.21 버전으로 업데이트가 됩니다.
하지만 ^기호가 없다면 즉 4.17.20 이라고만 되어있다면 이버전만 사용하겠다는 의미이고
update를 하더라도 그대로 20버전으로 사용하게 됩니다.
~는 메이저나 마이너는 업데이트 되지않고 Patch만 업데이트 됩니다.