TIL

Package.json

김영재0412 2022. 12. 4. 22:14

pacakage.json이란?

 

package.json 파일에는 프로젝트와 관련된 메타데이터가 담기며 주고 받는 패키지에 대한 상세 설명서라고 할 수 있다.

 

즉, 패키지의 이름, 버전, 데이터 등이 담긴 파일이 바로 package.json이며 이러한 정보들은 모두 npm 뿐만 아니라 패키지의 최종 사용자에게 무척 중요한 것들이다.

 

이러한 package.json 파일은 보통 Node.js 프로젝트의 루트 디렉토리에 위치해 있으며, npm 은 이를 통해 프로젝트를 식별하고, 프로젝트의 디펜던시(dependency)를 처리한다.

 

 

그러나 기본적으로 Node.js 는 package.json 의 단 두 영역만을 식별한다.

{
  "name" : "barebones",
  "version" : "0.0.0",
}

name은 프로젝트의 이름이며 version은 설치된 패키지의 버전이다.

 

보다 완성도 있는 package.json의 경우에는 다음의 요소들이 포함하며, 사용자는 이를 통해 상세 정보를 빠르게 확인할 수 있다.

{
  "name" : "underscore",
  "description" : "JavaScript's functional programming helper library.",
  "homepage" : "http://documentcloud.github.com/underscore/",
  "keywords" : ["util", "functional", "server", "client", "browser"],
  "author" : "Jeremy Ashkenas <jeremy@documentcloud.org>",
  "contributors" : [],
  "dependencies" : [],
  "repository" : {"type": "git", "url": "git://github.com/documentcloud/underscore.git"},
  "main" : "underscore.js",
  "version" : "1.1.6"
}

이를 통해 프로젝트에 대한 설명(description)과 키워드(keywords)를 살펴볼 수 있으며, author, contributors, hompage, repository 등도 확인할 수 있다. main은 라이브러리의 주된 엔트리 포인트이며 dependencies 는 npm에서 사용할 수 있는 프로젝트의 종속 사항이며, 패키지를 설치할 때 함께 설치된다.

 

npm init 명령어로 package.json을 만들 수 있으며, 그때 프로젝트에 대한 설명과 키워드등을 설정할 수 있다.

 

pacakage-lock.json이란?

 

npm install을 통해 패키지를 설치하면 node_modules 디렉토리와 함께 package-lock.json 파일이 생성된다. node_modules는 프로젝트에 필요한 패키지가 실제로 설치되는 디렉토리이다.


package-lock.json 파일은 package.json에 선언된 패키지가 설치될 때 정확한 버전과 디펜던시가 설치되도록 하며 npm install을 통해 패키지 설치를 진행할 때 package-lock.json을 바탕으로 패키지가 설치됩니다.

 

 

요악하자면 package.json은 프로젝트를 설명하는 역할을 하며, package-lock.json은 프로젝트에 필요한 패키지들을 실제로 설치할 수 있게 합니다.

 

 

 

'TIL' 카테고리의 다른 글

ORM과 관계형 데이터베이스  (0) 2022.12.08
JavaScript 챕터 8 - 예외 처리 고급  (0) 2022.12.04
MongoDB, Mongoose  (0) 2022.11.28
JavaScript의 ES  (0) 2022.11.27
Express.js  (0) 2022.11.26