김핵센
핵센의 개발공부로그
김핵센
전체 방문자
오늘
어제
  • 분류 전체보기 (66)
    • 창업 (1)
    • Flutter (1)
    • Javascript (9)
    • Git 강의 (2)
    • 항해99 (11)
    • 알고리즘 (25)
    • Node.js (11)
    • Network (1)
    • Database (2)
    • AWS (1)
    • Nest.js (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • searchParams
  • worker_threads
  • 추억 점수
  • github
  • git
  • 1주차 마무리
  • 프로그래머스
  • Wil
  • 혼공스
  • 팀과제
  • 창업 노하우
  • 알고리즘
  • 가장 가까운 같은 글자
  • 내장 모듈
  • 혼자공부하는자바스크립트
  • 푸드 파이트 대회
  • 스파르타코딩클럽
  • 제로초
  • til
  • 내장모듈
  • JavaScript
  • 주특기주차
  • 명예의 전당 (1)
  • 주특기 입문주차
  • 항해99
  • 주특기입문주차
  • node.js
  • 창VOD
  • 혼자 공부하는 자바스크립트
  • 크기가 작은 부분문자열

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
김핵센

핵센의 개발공부로그

Node.js

package.json / package-lock.json 이란?

2022. 12. 4. 17:53

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은 프로젝트에 필요한 패키지들을 실제로 설치할 수 있게 한다.

 

출처 - https://oneroomtable.tistory.com/entry/packagejson-%ED%8C%8C%EC%9D%BC%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%96%B4%EB%96%A4-%EC%97%AD%ED%95%A0%EC%9D%84-%ED%95%A0%EA%B9%8C%EC%9A%94

'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
    'Node.js' 카테고리의 다른 글
    • Node.js 내장 모듈 - url
    • Node.js 내장 모듈 - path
    • Node.js 내장 모듈 - os
    • Node.js란?
    김핵센
    김핵센
    개발 공부 관련 글을 적는 블로그입니다.

    티스토리툴바