package.json이란?
package.json 파일에는 프로젝트와 관련된 메타데이터가 담긴다.
먼저 npm을 알아야 하는데 npm은 패키지를 주고 받는 장소라고 생각하면 된다.
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, homepage, repository 등도 확인할 수 있다. main은 라이브러리의 주된 엔트리 포인트이다. dependencies는 npm에서 사용할 수 있는 프로젝트의 종속 사항이며, 패키지를 설치할 때 함께 설치된다.
package-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은 프로젝트에 필요한 패키지들을 실제로 설치할 수 있게 한다.
'Node.js' 카테고리의 다른 글
Node.js 내장 모듈 - crypto (0) | 2023.05.06 |
---|---|
Node.js 내장 모듈 - url (0) | 2023.05.04 |
Node.js 내장 모듈 - path (0) | 2023.05.03 |
Node.js 내장 모듈 - os (0) | 2023.05.01 |
Node.js란? (0) | 2022.11.25 |