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 | 29 | 30 | 31 |
Tags
- 서버설정
- 스프링 시큐리티
- network configuration
- 자료구조와함께배우는알고리즘입문
- 자바편
- 스프링부트핵심가이드
- d
- 선형대수
- 목록처리
- 자료구조와 함께 배우는 알고리즘 입문
- 티스토리 쿠키 삭제
- 처음 만나는 AI수학 with Python
- 페이징
- 구멍가게코딩단
- 이터레이터
- 처음 만나는 AI 수학 with Python
- GIT
- Kernighan의 C언어 프로그래밍
- 친절한SQL튜닝
- ㅒ
- resttemplate
- 네트워크 설정
- /etc/network/interfaces
- 리눅스
- iterator
- baeldung
- 코드로배우는스프링웹프로젝트
- 알파회계
- 코드로배우는스프링부트웹프로젝트
- 데비안
Archives
- Today
- Total
bright jazz music
Node.js환경변수 설정과 dotenv(.env) 파일 관리 본문
dotenv 파일 종류와 우선순위
NestJS에서 환경변수 관리를 위한 dotenv 파일은 다음과 같은 종류가 있다.
.env: 기본 설정 파일.env.local: 로컬 개발 환경 전용 설정.env.development: 개발 환경 설정.env.production: 운영 환경 설정.env.test: 테스트 환경 설정
이 파일들은 정해진 우선순위에 따라 적용된다:.env.local > .env.production > .env 순으로 우선순위가 적용되며, 같은 변수가 여러 파일에 정의되어 있을 경우 우선순위가 높은 파일의 값이 사용된다.
.env.local 파일 관리
.env.local 파일은 개발자의 로컬 환경에 특화된 설정을 담는다. 개발자마다 다른 설정이 필요할 수 있으므로 일반적으로 .gitignore에 추가하여 git 저장소에서 제외한다.
# .gitignore
.env.local
NODE_ENV를 이용한 환경 설정
환경변수 설정 시 크로스 플랫폼 호환성을 위해 cross-env를 사용하는 것이 권장된다:
// cross-env 설치
pnpm add -D cross-env
// npm을 사용하는 경우
npm install -D cross-env
// yarn을 사용하는 경우
yarn add -D cross-env
// -D 옵션(또는 --save-dev)은 해당 패키지를 devDependencies로 설치한다는 의미이다.
// cross-env는 개발 환경에서만 필요한 도구이기 때문에 devDependencies에 설치하는 것이 적절하다
혹이 이 차이를 모른다면 아래 포스팅 참고
Node.js 프로젝트의 Dependencies 이해하기
dependencies와 devDependencies의 차이Node.js 프로젝트의 package.json에는 두 종류의 의존성이 존재한다:dependencies프로젝트 실행에 필수적인 패키지실제 운영 환경에서 필요한 패키지들이 포함됨예: express,
catnails.tistory.com
// package.json
{
"scripts": {
"dev": "cross-env NODE_ENV=local pnpm run dev",
"start": "cross-env NODE_ENV=production pnpm run start"
}
}
cross-env를 사용하는 이유:
- Windows와 Linux/Mac의 환경변수 설정 방식 차이를 해결
- Windows:
set NODE_ENV=production - Linux/Mac:
NODE_ENV=production cross-env는 이러한 OS 간 차이를 자동으로 처리
환경별 실행 예시
# 개발 환경 실행 (.env.local 사용)
NODE_ENV=local pnpm run dev
# 운영 환경 실행 (.env.production 사용)
NODE_ENV=production pnpm run start
각 환경에 맞는 설정 파일이 자동으로 적용되어 프로젝트가 구동된다. 이를 통해 개발, 테스트, 운영 환경별로 적절한 설정을 관리할 수 있다.
'OS 및 기타 > Node.js' 카테고리의 다른 글
| Node.js 프로젝트의 Dependencies 이해하기 (0) | 2024.12.22 |
|---|---|
| 자바스크립트 파일 시스템 모듈과 readLine모듈, /dev/stdin (0) | 2024.01.10 |
Comments
