Node.js 프로젝트에서 .env 파일로 환경 변수 관리하기

0

.env 파일이란?

Node.js 프로젝트를 개발할 때, 우리는 종종 민감한 정보를 다뤄야 합니다. 예를 들어, 데이터베이스 연결 정보, API 키, 비밀 키 등이 있습니다. 이러한 정보는 코드에 직접 포함시키는 것은 보안상 위험할 수 있습니다. 이때 사용되는 것이 바로 `.env` 파일입니다.

`.env` 파일은 환경 변수를 저장하기 위한 파일입니다. 이 파일에 환경 변수를 정의하면, 프로젝트에서 이 변수를 불러와 사용할 수 있습니다. 이를 통해 민감한 정보를 코드 외부에 보관하고, 코드와 설정 정보를 분리할 수 있습니다.

.env 파일 설정 및 사용 방법

1. .env 파일 생성

프로젝트 루트 디렉토리에 `.env` 파일을 생성합니다. 파일명은 그대로 `.env`로 합니다.

2. 환경 변수 정의

`.env` 파일에 환경 변수를 키=값 형태로 정의합니다. 예를 들어:

DB_HOST=localhost
   DB_USER=root
   DB_PASS=s1mpl3

3. dotenv 패키지 설치

Node.js 프로젝트에서 .env 파일을 사용하려면 `dotenv` 패키지를 설치해야 합니다. 터미널에서 다음 명령어를 실행합니다:

npm install dotenv

4. dotenv 설정

프로젝트의 진입 파일(보통 `index.js` 또는 `app.js`) 상단에 다음 코드를 추가합니다:

require('dotenv').config();

이를 통해 .env 파일에 정의된 환경 변수를 불러올 수 있습니다.

5. 환경 변수 사용

이제 코드에서 `process.env`를 통해 환경 변수를 사용할 수 있습니다. 예를 들어, 데이터베이스 연결을 설정할 때:

const mysql = require('mysql');

   const connection = mysql.createConnection({
     host: process.env.DB_HOST,
     user: process.env.DB_USER,
     password: process.env.DB_PASS,
   });

   connection.connect(error => {
     if (error) {
       console.error('Database connection failed:', error.stack);
       return;
     }
     console.log('Connected to database.');
   });

.env 파일 관리 시 주의사항

1. .env 파일을 버전 관리에서 제외하기

`.env` 파일에는 민감한 정보가 포함되어 있으므로, 이를 버전 관리 시스템(Git 등)에서 제외해야 합니다. 이를 위해 프로젝트 루트에 `.gitignore` 파일을 생성하고 `.env`를 추가합니다:

.env

2. 환경 변수 이름 일관성 유지

환경 변수 이름은 대문자로 작성하고, 단어 사이는 언더스코어(_)로 구분하는 것이 일반적입니다. 이는 가독성을 높이고, 실수를 줄이는 데 도움이 됩니다.

3. 보안

`.env` 파일에 포함된 정보는 절대 다른 사람과 공유해서는 안 됩니다. 또한, 배포 시에는 환경 변수를 다른 방법으로 설정할 수 있도록 고려해야 합니다(예: 서버 설정, 배포 플랫폼의 환경 변수 관리 기능 등).

결론

`.env` 파일은 Node.js 프로젝트에서 환경 변수를 관리하는 데 매우 유용한 도구입니다. 이를 통해 민감한 정보를 안전하게 관리하고, 코드와 설정을 분리하여 더 깔끔하고 유지보수하기 쉬운 프로젝트 구조를 만들 수 있습니다. 위의 단계를 따라 .env 파일을 설정하고 사용하는 방법을 익혀보세요. 이를 통해 보다 안전하고 효율적인 개발 환경을 구축할 수 있을 것입니다.

Leave a Reply