NPM(Node Package Manager)이란 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. Node.js 프로젝트를 관리하는 필수적인 도구라 할 수 있다.
Node.js 프로젝트를 생성하는 법부터 알아보자!
프로젝트 생성하기
npm init
생성한 프로젝트 디렉터리 안에서 이 명렁어를 사용하면 몇 번의 질문을 통해 package.json 파일을 만들어 준다.
만약 질문들을 건너 뛰고 싶다면 -y 옵션을 사용하면 된다.
package.json
프로젝트 관련 정보들이 저장되는 파일이다.
key | value |
name | 프로젝트 이름 |
version | 프로젝트 버전 |
description | 프로젝트 설명 |
scripts | npm run [script name] 으로 실행할 수 있는 사용자 작성 스크립트 |
dependencies | 의존성 패키지들 |
devDependencies | 개발환경에서만 사용하는 의존성 패키지들 |
대표적인 package.json의 구성 요소는 위 표와 같다.
npm install
npm install 명령어를 통해 프로젝트 의존성을 관리할 수 있다.
- 의존성 추가 : 필요한 패키지를 프로젝트에 추가할 수 있다.
npm install [pacakge-name]
추가된 패키지는 package.json의 dependencies 안에 추가되고, node_modules 디렉터리에 저장된다.
- 개발용 의존성 추가
npm은 개발용 의존성을 분리하여 관리할 수 있다. 이는 배포 전까지만 사용하는 의존성을 의미한다.
npm install [package-name] --save-dev
개발용 의존성은 package.json의 devDependencies에 추가된다.
--save-dev 옵션과 -D 옵션은 같은 의미다.
- 의존성 내려받기
npm install
npm install 명령어를 아무 옵션 없이 사용하면 package.json에 정의된 dependencies와 devDependencies의 의존성을 node_modules 디렉터리에 내려받는다.
만약 개발용 의존성을 제외하고 내려받으려면 --production 옵션을 사용한다.
package-lock.json
프로젝트에 의존성을 추가하면 package-lock.json이라는 파일이 생성되고, 버전을 지정하지 않으면 자동으로 '^최신버전'으로 추가되는데, 의존성 버전이 갑자기 변경되지 않도록 설치된 버전을 고정하는 역할을 한다.
의존성 삭제(npm remove)
npm remove [package-name]
package.json의 dependencies와 devDependencies에서 삭제하고 node_modules에서도 삭제한다.
npx?
npm 패키지를 설치하지 않고 사용할 수 있게 해주는 도구이다.
프로젝트에 추가하거나 전역 패키지로 추가하지 않고, npx를 이용하여 바로 실행할 수 있다.
'Node.js' 카테고리의 다른 글
Express - Template Engine(템플릿 엔진), pug (0) | 2023.04.10 |
---|---|
Express.js의 Middleware (0) | 2023.04.06 |
Express.js 시작하기 (0) | 2023.04.06 |
웹 서비스와 웹 프레임워크 (0) | 2023.04.03 |