Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 자료구조와 함께 배우는 알고리즘 입문
- 코드로배우는스프링웹프로젝트
- 처음 만나는 AI수학 with Python
- 리눅스
- 네트워크 설정
- 목록처리
- d
- 페이징
- iterator
- 처음 만나는 AI 수학 with Python
- 데비안
- 자료구조와함께배우는알고리즘입문
- GIT
- baeldung
- 친절한SQL튜닝
- 서버설정
- /etc/network/interfaces
- ㅒ
- 티스토리 쿠키 삭제
- 구멍가게코딩단
- 코드로배우는스프링부트웹프로젝트
- network configuration
- resttemplate
- 스프링부트핵심가이드
- 선형대수
- Kernighan의 C언어 프로그래밍
- 자바편
- 스프링 시큐리티
- 이터레이터
- 알파회계
Archives
- Today
- Total
bright jazz music
Node.js 프로젝트의 Dependencies 이해하기 본문
dependencies와 devDependencies의 차이
Node.js 프로젝트의 package.json
에는 두 종류의 의존성이 존재한다:
dependencies
- 프로젝트 실행에 필수적인 패키지
- 실제 운영 환경에서 필요한 패키지들이 포함됨
- 예: express, react, nestjs
# 설치 명령어 npm install 패키지명 # 또는 npm i 패키지명
devDependencies
- 개발 과정에서만 필요한 패키지
- 테스트, 빌드, 포맷팅 등 개발 보조 도구들이 포함됨
- 예: jest(테스트), prettier(포맷팅), cross-env(환경변수)
# 설치 명령어 npm install -D 패키지명 # 또는 npm i -D 패키지명
package.json 예시
{
"dependencies": {
"express": "^4.17.1", // 서버 운영에 필요
"react": "^17.0.2" // 앱 실행에 필요
},
"devDependencies": {
"jest": "^27.0.6", // 테스트용
"prettier": "^2.3.2", // 코드 포맷팅용
"cross-env": "^7.0.3" // 개발 환경 설정용
}
}
프로덕션 빌드 시 동작
프로덕션 환경에서는 devDependencies를 제외하고 설치할 수 있다:
# devDependencies 제외하고 설치
npm install --production
# 또는
NODE_ENV=production npm install
Docker에서의 활용 예시
멀티 스테이지 빌드를 통해 최종 이미지 크기를 최적화할 수 있다:
# 빌드 단계: devDependencies 포함 설치
FROM node:18 AS builder
COPY package*.json ./
RUN npm install
# 빌드 작업 수행...
# 프로덕션 단계: devDependencies 제외 설치
FROM node:18
COPY package*.json ./
RUN npm install --production
COPY --from=builder /app/dist ./dist
이렇게 하면 최종 프로덕션 이미지에는 실제 운영에 필요한 패키지만 포함되어 이미지 크기를 최적화할 수 있다.
'OS 및 기타 > Node.js' 카테고리의 다른 글
Node.js환경변수 설정과 dotenv(.env) 파일 관리 (0) | 2024.12.22 |
---|---|
자바스크립트 파일 시스템 모듈과 readLine모듈, /dev/stdin (0) | 2024.01.10 |
Comments