01. Package Manager
- Package Manager란?
- 패키지를 손쉽게 다루는 작업을 안전하고 편리하게 사용하기 위한 툴
- 코드를 다운로드 받거나, 자신의 코드를 배포하여 다른 사람이 쓸 수 있도록 할 수 있다.
- Node.js에서 사용하는 대표적인 패키지 매니저는 npm과 yarn이 있다.
- npm이나 yarn에 업로드된 Node.js 모듈을 패키지라고 부른다.
모듈이 다른 모듈을 참조하여 사용하는 것과 같이, 패키지도 다른 패키지를 사용할 수 있다.(의존 관계) - npm과 yarn은 특별한 이유가 존재하지 않다면 같이 사용하지 않는 것이 좋다.
- Package.json?
- 설치한 패키지들의 버전을 관리할 때 사용하는 파일
- 동일한 패키지를 사용하더라도 버전별로 기능을 다르게 사용할 수 있으므로 특정한 버전을 설치할 때 필요하다.
- 프로젝트명, 작성자, 라이센스 정보 등 다양한 메타 데이터들을 기록할 수 있다.
- npm과 yarn 모두 동일한 package.json파일을 참조한다.
- Package-lock.json?
- package.json파일에서 정의한 패키지 외에도 node_modules에 들어있는 패키지들의 버전과 의존 관계가 상세하게 기록되어 있다.
- npm으로 패키지를 설치, 수정, 삭제할 떄마다 패키지들의 의존 관계를 저장한다.
- 프로젝트에서 의존하는 패키지 버전을 관리할 때 사용한다 생각하면 된다.
02. 배포를 위한 npm 학습
- npm init:
- package.json파일을 만들 때 사용
- 새로운 프로젝트나 패키지를 만들 때 사용
- 패키지명, 프로젝트 버전, Github URL 등 포르젝트와 관련된 다양한 정보를 설정할 수 있다.
- package.json:
- npm으로 설치된 모듈에 대한 정보가 들어있다.
- npm install(i) (모듈명)
- npm으로 모듈을 설치할 때 쓰는 명령어
- 띄어쓰기로 구분을 하여 여러개의 모듈을 설치하는 것도 가능하다.
- node_modules?
- package.json 파일 내용 기반으로 npm install 명령어를 통해 설치된 모듈 파일들이 모여있는 곳
- package.json에 설정된 모듈과 해당 모듈들이 참고하고 있는 또 다른 모듈도 함께 설치된다.
- 따라서 사용중인 환경에 맞는 파일들이 설치되기 때문에 가지고 있는 폴더는 다른 곳에 공유하거나 배포할 때 포함하면 안된다.
- devDpendencies
- npm install (모듈이름) -D으로 추가
- 개발 단계에서만 필요한 모듈들을 설치할 경우 이곳에 포함된다.
'JavaScript Dev. > Node.js' 카테고리의 다른 글
MongoDB, mongoose (0) | 2023.04.24 |
---|---|
Express.js 란? (0) | 2023.04.22 |
HTTP / Web Server (0) | 2023.04.22 |
JavaScript 란? (0) | 2023.04.22 |
Node.js (0) | 2023.04.21 |