ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 실행

    {
      "version": "0.2.0",
      "configurations": [
        {
          ...
          "command": "yarn dev",
          ...
        }
      ]
    }

    IDE -> 실행 -> 디버깅 시작

     

    방법2. 프롬프트에서 실행

    $ yarn dev
    $ npm dev

     

    댓글

Designed by Tistory.