-
env-cmd란?Language/React 2024. 12. 6. 10:19
env-cmd에 대해서 정리해 두자.
env-cmd란?
- Node.js 애플리케이션에서 환경 변수를 손쉽게 관리하기 위한 도구
- .env 파일에 정의된 환경 변수를 로드하여 실행 중인 애플리케이션에서 사용할 수 있도록 해준다.
- 환경 변수는 애플리케이션의 설정값(예: 데이터베이스 URL, API 키 등)을 관리하는 데 사용된다.
주요 특징
1. 환경 변수 관리
.env 파일의 변수들을 자동으로 로드하여 실행 중인 애플리케이션에서 사용 가능하다.
2. 다중 환경 지원
개발, 테스트, 프로덕션 등의 환경별 .env 파일을 손쉽게 구분하고 각 환경에 맞는 .env 파일을 로드한다.
3. 간단한 사용법
추가적인 코딩 없이 명령어로 환경 변수 로드할 수 있다.
4. 보안 및 코드 유지보수성 향상
민감한 정보를 코드에 직접 포함하지 않고, 외부 파일로 관리 가능.
민감한 데이터(API 키, 데이터베이스 URL 등)를 코드에서 분리하여 보안성을 높이고, 설정 관리가 간편하다.
5. Node.js와의 통합
Node.js 실행 명령어와 간단히 결합 가능하다.
설치
$ npm install env-cmd $ yarn add env-cmd
사용 방법
1. .env 파일 생성
프로젝트 루트에 환경 변수를 정의한 .env 파일을 생성한다.
DB_HOST=localhost DB_PORT=5432 API_KEY=abc123456
2. 기본 사용
애플리케이션 실행 시 env-cmd를 사용하여 .env 파일을 로드한다.
$ npx env-cmd node app.js
다중 환경 설정
1. 환경별 .env 파일 생성
예를 들어, 개발 환경과 프로덕션 환경에 각각 다른 설정을 적용하려면 다음과 같이 파일을 구분한다.
- .env.local
NODE_ENV=local DB_HOST=localhost DB_PORT=5432
- .env.development
NODE_ENV=development DB_HOST=localhost DB_PORT=5432
- .env.production
NODE_ENV=production DB_HOST=prod-db.example.com DB_PORT=5432
2. 특정 환경 로드
환경별로 파일을 지정하여 실행한다.
$ npx env-cmd -f .env.production node app.js
package.json 스크립트 활용
package.json 파일의 scripts 섹션에 env-cmd 명령어를 추가하여 더욱 편리하게 실행할 수 있다.
- package.json 예제
"scripts": { "start:dev": "env-cmd -f .env.development node app.js", "start:prod": "env-cmd -f .env.production node app.js" }
실행 명령어
$ npm run start:dev $ npm run start:prod
필자 사용 방법
package.json 설정
- package.json
"scripts": { ... "dev": "env-cmd -f .env.local next dev", ... },
방법1. IDE 실행
- launch.json (사용방법)
{ "version": "0.2.0", "configurations": [ { ... "command": "yarn dev", ... } ] }
방법2. 프롬프트에서 실행
$ yarn dev $ npm dev
'Language > React' 카테고리의 다른 글
react-hook-form을 사용하여 배열 형태 input 사용 (0) 2024.12.02 타입스크립트 예외처리 (0) 2024.11.22 Swiper - Cannot read properties of undefined (reading 'autoplay') (1) 2024.11.07 Promise 동시에 여러번 호출 (0) 2024.10.15 push Toast 메시지 만들기 (0) 2024.07.09