Node.js 04 패키지 매니저

김민호·2021년 12월 26일
0

Node.js

목록 보기
4/5

1. package.json

1) npm이란

Node Package Manager

  • 노드의 패키지 매니저
  • 다른 사람들이 만든 소스 코드들을 모아둔 저장소
  • 남의 코드를 사용하여 프로그래밍 가능
  • 이미 있는 기능을 다시 구현할 필요가 없어 효율적
  • 오픈 소스 생태계를 구성중
  • 패키지 : npm에 업로드된 노드 모듈
  • 모듈이 다른 모듈을 사용할 수 있듯이 패키지도 다른 패키지를 사용할 수 있음
  • 의존 관계라고 부름

2) package.json

현재 프로젝트에 대한 정보와 사용 중인 패키지에 대한 정보를 담은 파일

  • 같은 패키지라도 버전별로 기능이 다를 수 있으므로 버전을 기록해두어야 함
  • 동일한 버전을 설치하지 않으면 문제가 생길 수 있음
  • 노드 프로젝트 시작 전 package.json 부터 만들고 시작함(npm init)

package.json 속성들

  • package name : 패키지의 이름. package.json의 name 속성에 저장
  • version : 패키지의 버전.
  • entry point: 자바스크립트 실행 파일 진입점. 보통 마지막으로 module.exports 를 하는 파일을 지정. package.json의 main 속성에 저장
  • test command : 코드를 테스트할 때 입력할 명령어를 의미. package.json scripts 속성 안의 test속성에 저장됨
  • git repository : 코드를 저장해둔 Git 저장소 주소를 의미. package.json repository 속성에 저장
  • keywords : 키워드는 npm 공식 홈페이지에서 패키지를 쉽게 찾을 수 있게 해줌. package.json keywords 속성에 저장
  • license : 해당 패키지의 라이센스를 넣어주면 됨

3) 패키지 설치하기

express 설치하기

npm install express             

npm install 시 node_modules 폴더 생성

  • 내부에 설치한 패키지들이 들어 있음
  • express 외에도 express와 의존 관계가 있는 패키지들이 모두 설치됨
  • package-lock.json 도 생성되어 피키지 간 의존 관계를 명확하게 표시함

4) 개발용 패키지

  • npm install --save-dev 패키지명 또는 npm i -D 패키지명
    -> devDependencies에 추가됨

5) 글로벌(전역) 패키지

  • npm install --global 패키지명 또는 npm i -g 패키지명
    • 모든 프로젝트와 콘솔에서 패키지를 사용할 수 있음
    • 예제는 rm -rf (리눅스의 삭제 명령)를 흉내내는 rimraf 패키지의 글로벌 설치
      npm install --global rimraf
    • npx로 글로벌 설치 없이 글로벌 명령어 사용 가능

6) SemVer 버저닝

노드 패키지의 버전은 SemVer(유의적 버저닝)

  • Major(주 버전 : 하위 호환이 되지 않는 변경 사항), Minor(부 버전 : 하위 호환이 되는 변경 사항), Patch(수 버전 : 간단한 버그 수정)
    ex) 1.0.7

2. npm 명령어들 알아보기


3. npm 배포하기

profile
개발자로서의 삶은 https://velog.io/@maxminos 에서 기록하고 있습니다 😀

0개의 댓글