Node.js 섹션 4 패키지 매니저

_upper·2023년 10월 31일

package.json

npm이란

Node Package Manager

  • 노드의 패키지 매니저

  • 다른 사람들이 만든 소스 코드들을 모아둔 저장소

  • 남의 코드를 사용하여 프로그래밍 가능

  • 이미 있는 기능을 다시 구현할 필요가 없어 효율적

  • 오픈 소스 생태계를 구성중

  • 패키지: npm에 업로드된 노드 모듈

  • 모듈이 다른 모듈을 사용할 수 있듯 패키지도 다른 패키지를 사용할 수 있음

  • 의존 관계라고 부름

package.json

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

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

package.json 속성들

  • name: 패키지의 이름입니다.
  • version: 패키지의 버전입니다.
  • description: 프로젝트 설명입니다.
  • main: 실행 파일 경로입니다. 이 파일은 Node.js에서 프로젝트를 실행할 때 실행됩니다.
  • scripts: 프로젝트에서 사용할 수 있는 명령어 목록입니다.
  • repository: Git 저장소 주소입니다.
  • keywords: 키워드입니다. 이 키워드를 사용하여 프로젝트를 검 색 할 수 있습니다.
  • license: 라이선스입니다.

npm 스크립트

npm init이 완료되면 폴더에 package.json이 생성됨

npm run [스크립트명]으로 스트립트 실행

패키지 설치하기

express 설치하기

npm install express

package.json에 기록됨(dependencies에 express 이름과 버전 추가됨)

// package.json
{
  "name": "npmtest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index"
  },
  "author": "ZeroCho",
  "license": "MIT",
  "dependencies": {
    "body-parser": "^1.19.0",
    "cookie-parser": "^1.4.5",
    "express": "^4.17.1"
  },
  "devDependencies": {
    "nodemon": "^2.0.5"
  }
}

0개의 댓글