← 홈페이지 5강 목록으로
📦
EPISODE 03
package.json · install · nodemon · dayjs

npm과 패키지

package.json 구조와 npm 명령어, dependencies와 devDependencies의 차이, npx, nodemon, 그리고 실용 라이브러리 dayjs를 익힙니다.

npmpackage.jsonnodemondayjs
소요 시간
30~45분
난이도
📊 중급 입문
선수 조건
🎯 node-02
결과물
필요한 라이브러리를 직접 설치·관리하는 프로젝트

이 강의에서 배우는 것

  • 1package.json의 주요 필드를 안다
  • 2npm install / uninstall / list / scripts를 사용한다
  • 3dependencies와 devDependencies를 구분한다
  • 4nodemon으로 개발 서버를 자동 재시작한다
  • 5.gitignore에서 node_modules와 .env를 제외한다

1. package.json 구조

json
{
  "name": "my-project",
  "version": "1.0.0",
  "description": "내 첫 Node.js 프로젝트",
  "main": "index.js",
  "scripts": {
    "start": "node server.js",
    "dev": "nodemon server.js",
    "test": "node test.js"
  },
  "dependencies": {
    "express": "^4.18.2",
    "dayjs": "^1.11.10"
  },
  "devDependencies": {
    "nodemon": "^3.0.1"
  }
}

2. npm 기본 명령어

bash
# 초기화
npm init           # 질문에 답하며 생성
npm init -y        # 기본값 자동 생성

# 설치
npm install express              # 프로덕션 의존성
npm install --save-dev nodemon    # 개발 의존성
npm install -g typescript        # 전역 설치

# 목록
npm list
npm list --depth=0

# 제거
npm uninstall express

# 스크립트 실행
npm run dev
npm start          # start는 run 생략 가능

3. dependencies vs devDependencies

구분설명예시
dependencies실제 실행에 필요express, dayjs
devDependencies개발 중에만 필요nodemon, eslint

4. npx

bash
npx create-react-app my-app    # 설치 없이 바로 실행
npx cowsay "Hello, Node!"      # 일회성 실행

5. nodemon

bash
npm install --save-dev nodemon
json
{
  "scripts": {
    "dev": "nodemon server.js"
  }
}
bash
npm run dev

6. dayjs — 날짜/시간

bash
npm install dayjs
javascript
const dayjs = require('dayjs');

dayjs()                                  // 현재 시각
dayjs('2025-01-15')                      // 특정 날짜

dayjs().format('YYYY-MM-DD')             // '2025-01-15'
dayjs().format('YYYY년 MM월 DD일')        // '2025년 01월 15일'

dayjs().add(7, 'day')                    // 7일 후
dayjs().subtract(1, 'month')             // 1달 전
dayjs().diff(dayjs('2000-01-01'), 'year') // 나이 계산

7. .gitignore

text
# .gitignore
node_modules/
.env
*.log

node_modules는 용량이 크고 npm install로 언제든 복원 가능 — git에 올리지 않습니다.

예제 코드 / 강의 자료

전체 강의 자료와 예제 코드는 GitHub에서 자유롭게 받아볼 수 있습니다.

GitHub에서 보기 ↗