description - 프로젝트에 관한 간단한 설명
main - 직접적으로 npm의 생태계에 업로드 할 수 있는 패키지처럼 만들어서 npm 생태계에 업로드 할 때 필요
author - 소유주
=> npm install 명령을 통해서 어떠한패키지를 설치하게 되면 node modules라는 폴더에 설피한 패키지가 들어감
=> 이러한 패키지를 모듈이라고도 말함
parcel-bundler라는 패키지를 설치한 후 프로젝트에서 활용 될 때, 필요한 또다른 패키지들이 같이 설치가 된 것
우리가 하나의 패키지를 만들 때 이미 만들어져 있는 다른 패키지들을 활용을 할 수도 있고 이러한 개념들로 연결되어져 있음
우리가 특정한 패키지를 설치하면 패키지의 내역이 json 파일에 남게 됨
-> 우리가 어떤 패키지를 사용하고 있고, 패키지의 버전은 무엇인지 알 수 있음
- 장점
: 한번 설치한 패키지는 내역으로 남게 되어 실제 node modules 폴더(패키지)를 지우더라도 다시 npm install(i - 약어)를 통해서 우리 프로젝트에 해당하는 패키지를 설치할 수 있음
어떤 특정한 패키지를 설치하게 되면이 파일이 생성됨
설치한 모듈들이 내부적으로 사용되는 또 다른 모듈 or 패키지들을 관리하기 위함
-> 우리는 내부에서 어떤 걸 사용하는지 모르니까 그 정보를 알려주는 파일
package.json은 우리가 직접적으로 관리하는 파일
package-lock.json은 자동으로 관리되는 파일
node_modules 폴더는 언제든지 지워도 되지만 다른 두 파일은 절대 지워서는 안 됨

- -D가 있는 경우
: devDependencies에 설치
: 개발용 의존성 패키지 설치(-D: --save-dev의 단축형태)
=> 내가 설ㅊ한 특정한 패키지들이 개발할 때만 필요하고 그것이 나중에 웹브라우저에서 동작할 때는 필요하지 않음
=> 개발할 때만 필요하느냐?
- -D가 없는 경우
: dependencies에 설치
: 일반적 의존성 패키지 설치
=> 설치한 패키지가 실제로 웹브라우저에서 동작할수도 있다는 것을 전제
=> 실제로 웹사이트에서 동작하는 용도이냐?