DAY NPM

j1_0·2022년 12월 27일
0

DAY41 <NPM>

NPM

NPM은 Node Pakage Manager로 node.js 전용 패키지가 올라가 있는 서버이며 노드 패키지를 관리해준다. npm은 별도의 설치를 할 필요 없이 node.js를 설치할 때 함께 설치된다.

Pakage.JSON

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

package.json 파일에는 프로젝트와 관련된 메타 데이터가 담기며 npm 패키지를 주고 받는 장소이다.
패키지의 이름, 버전, 등의 설명이 담겨있고 Node.js 프로젝트의 루트 디렉토리에 위치해 있으며, npm은 이를 통해 프로젝트를 식별하고, 프로젝트의 dependency를 처리한다.

name

프로젝트 이름으로 중앙 저장소에 배포할 때 version과 함께 필수 항목이다. url로 사용되고 url이나 디렉터리에서 쓸수 없는 이름을 사용하면 안 된다.

version

프로젝트 버전을 정의한다. -로 태그 이름을 적을 수 잇다.

description

프로젝트의 설명으로 문자열을 기술한다.

homepage

프로젝트 홈페이지의 주소이다. url 항목과는 다르다.

author

프로젝트 작성자 정보로, 한 사람만을 지정한다. json 형식으로 name, emai, url 옵션을 포함한다.

contributors

프로젝트에 참여한 공헌자 정보로 여러 사람을 배열로 지정할 수 있다.

repository

프로젝트의 소스 코드를 저장한 저장소의 정보이다.

scripts

프로젝트에서 자주 실행해야 하는 명령어를 scripts로 작성해두면 npm 명령어로 실행 가능하다.

config

소스 코드에서 config 필드에 있는 값을 환경 변수 처럼 사용할 수 있다.

private

값을 true로 작성하면 중앙 저장소로 저장하지 않는다.

dependencies

프로젝트 의존성 관리를 위한 부분이다. pakage.json 에서 가장 많은 정보가 입력되는 곳이다.
애플리케이션을 설치할 때 내용을 참조하여 필요한 확장 모듈을 자동으로 설치한다.
npm install 명령을 하면 여기에 포함된 모든 확장 모듈을 설치하게 되어있다.

devDependencies

개발할 때만 의존하는 확장 모듈을 관리한다.

engine

실행 가능한 노드 버전의 범위를 결정한다.

이번 프로젝트에도 npm을 이용한 많은 패키지들을 다운 받았는데 npm이 뭔지 알고 있지만,
정확한 개념을 알지 못하고 사용하는 것 같아서 찾아 봤는데 알고 있는 개념 그대로였다!

참조자료
@leyuri

0개의 댓글