.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 파일을 설정하고 사용하는 방법을 익혀보세요. 이를 통해 보다 안전하고 효율적인 개발 환경을 구축할 수 있을 것입니다.