개발공부/기타

npm 과 package.json

J-Plum 2023. 3. 31. 23:06

npm init이란?

package.json을 만드는 명령어 입니다.

 

괄호가 있다면 앤터키 입력시 그 값으로 지정됩니다.  생략도 가능합니다.

 

package name : (현재 폴더이름) 패키지의 이름

 

version : (1.0.0) // 이 패키지의 버전에 대해서

 

description : 프로젝트의 설명을 적는곳입니다.

 

entry point : (index.js) 진입점을 의미합니다. 외부에 공개하지 않는다면 생략 가능합니다.

 

test command: 프로젝트 생성후 테스트로 입력할 값 입니다.

 

git repository: git 저장소가 연결되어있다면 자동으로 연결됩니다. /사용하지 않는다면 생략가능

 

keywords: 프로젝트에 대한 키워드

 

author:  해당 프로젝트의 작성자

 

license: (ISC)  저작권에 대한 정보, 기본값은 ISC 입니다. 

여기까지 전부 기입하면 package.json 파일이 생성됩니다.

...

npm init으로 생성한 package.json

 

나는 기본값으로 package.json 을 사용하겠다!   npm init -y 를 사용하면 됩니다.

기본값과 생략으로 이루어진 package.json이 만들어집니다.

 

npm init -y 로 생성한 package.json

 

npm install

npm install은 패키지를 설치하는 명령어 입니다.

 

npm install 패키지이름@버전  : 해당 버전의 패키지를 설치합니다.

npm install 주소  : 특정 저장소의 패키지를 설치합니다.

 

npm install --save-dev 

또는

npm install -D  :  --save-dev 와 동일합니다. (대문자만 가능)

 

--save  (-S) : dependencies에 추가합니다 .  

--save-dev : devdependencies에 추가됩니다.

-g : 글로벌 패키지에 추가됩니다. 글로벌 패키지에 추가하면 다른 프로젝트에서도 해당 패키지를 사용할 수 있습니다.

 

 

package.json과 package-lock.json

 

dependencies

- 외부의 다른 개발자가 만든 패키지에 의존하고 있다라는걸 알려줍니다. (일반 의존성)

devdependencies

- 위와 동일하며, 개발에서만 해당 패키지를 사용하고  웹사이트에는 영향이 가지 않는 패키지들 입니다.. (개발 의존성)

 

npm install parcel -D  를 설치했다고 가정하겠습니다.

node_modules 에 parcel이 추가가 됩니다.

사진은 parcel 폴더의 package.json 입니다.

parcel 번들러는 dependencies에 있는 다른 패키지에 또 의존하고있는 형태이며 이것들이 설치된 곳이 node_modules입니다

 

package-lock.json은 위의 패키지들의 관계를 정보가 있는 파일입니다.

 

node_modules 의 경우 package.json만 있다면 npm install 만으로 다시 생성이 됩니다.  (깃허브 저장소에 업로드 할 필요가 없다.)

 

그렇기 때문에 .gitignore 에 node_modules가 들어있습니다. (.gitignore에 파일이 등록되면 저장소에 업로드 되지 않습니다.)

 

개발용과 배포용 패키지는 구분지어 설치해야합니다.

 

parcel

웹사이트에서 동작할 내용들을 묶어주는 번들러입니다