티스토리 뷰

백엔드/NodeJS

[NodeJS] 환경변수 .env

doeunnkimm 2023. 1. 14. 11:56

▶환경변수 .env

데이터베이스 연결 설정 정보를 입력할 때 .env 파일을 이용하는 게 안전하다는 말을 들을 적이 있어서 이에 대해 정리해보려고 합니다.

 

🔎 환경변수 ?


프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임 [ 위키피디아 ]

 

환경'변수' 라는 이름 그 자체로 어떤 변수값을 의미합니다.

 

🔎 그렇다면 dotenv는 뭘까


우선 env

유닉스 및 유닉스 계열 운영 체제용 셀 명령어이다.
환경 변수의 목록을 출력하거나, 현존하는 환경을 수정하지 않고도 변경된 환경 내에서 다른 유틸리티를 실행하는데 사용할 수 있다.
.env를 사용함으로써 변수를 추가하거나 제거할 수 있으며, 기존 변수는 새로운 값을 이들에 할당함으로써 변경할 수 있다.
[ 위키피디아 ]

dotenv는 환경변수를 .env라는 파일에 저장하고

process.env로 로드하는 의존성 모듈입니다.

 

이를 사용하는 이유로는

개발 과정에서 사용되는 고유한 api key값 등 민감한 정보의 보안을 위해서 인데요.

만약 깃허브 같이 오픈소스에 공개될 경우에 해킹을 당할 위험이 있기 때문에

민감한 정보일 경우 .env 를 사용해야 합니다!

 

🔎 dotenv 사용법


1. dotenv 패키지 설치

$ npm i dotenv

2. .env 파일 생성 - 최상단 경로에 생성

설치 후 .env 파일을 최상단 경로(package.json과 같은 폴더)에 생성한 후

들어갈 텍스트는 반드시 이름 = 값 형식으로 적어줍니다.

 

📄 .env 파일

DATABASE_NAME='[DB명]'
DATABASE_USERNAME='root'
DATABASE_PASSWORD=''

3. .env 파일 불러오기

.env를 사용하고자 하는 파일 안에 dotenv를 부릅니다.

dotenv.config()는 현재 디렉토리의 .env 파일을 자동으로 인식하여 환경변수를 세팅합니다.

dotenv.config(경로)는 원하는 .env 파일의 위치를 직접 지정하여 세팅할 수 있습니다.

 

📄 환경변수를 사용할 파일

const dotenv = require('dotenv');
dotenv.config();

4. process.env.변수이름

.env에 저장되어 있는 변수들을 부를 때는 process.env.변수이름 으로 불러주면 됩니다.

환경변수는 key-value 형태로 저장이 되며, 부를 때는 process.env[key] 형태로 부릅니다.

 

📄 환경변수를 사용할 파일

user: process.env.DATABASE_USERNAME || 'root',
password: process.env.DATABASE_PASSWORD || '',
database: process.env.DATABASE_NAME || '[DB명]'

 

🔎 dotenv 주의사항 - .gitignore에 .env 을 추가하자 꼭!⭐


.env 파일에 저장하더라도 .env 파일을 오픈소스(깃허브)에 올린다면 공개하는 것과 다름없기 때문에 .gitignore 파일에 .env파일을 추가하여 무시하도록 해줘야 합니다. 꼭!💡

 

📄 .gitignore 파일

.env

 

728x90
LIST
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함