Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 31
Archives
Today
Total
관리 메뉴

사고쳤어요

[Node.js] .env를 통해 환경 변수 설정하기 본문

웹 풀스택

[Node.js] .env를 통해 환경 변수 설정하기

kevinmj12 2025. 2. 26. 18:20

작업을 하다보면 API Key 값, 데이터베이스 비밀번호 값 등 Github에 올리기 민감한 자료들이 존재한다.

.env 파일을 통해 민감한 자료들을 관리해보자.

 

dotenv 설치

https://www.npmjs.com/package/dotenv

 

dotenv

Loads environment variables from .env file. Latest version: 16.4.7, last published: 3 months ago. Start using dotenv in your project by running `npm i dotenv`. There are 53157 other projects in the npm registry using dotenv.

www.npmjs.com

npm install dotenv --save 명령을 통해 dotenv 모듈을 설치해준다.

 

.env 생성

진행중인 프로젝트의 루트 경로에 .env 파일을 생성해준다.

 

.env에는 다음과 같이 "변수명"="값" 형태로 민감한 정보들을 저장해주면 된다.

 

.gitignore 등록

마찬가지로 같은 루트 디렉토리에 .gitignore 파일을 생성해준다.

그리고 해당 파일에 .env를 입력하여 저장한다.

위와 같이 설정을 하게 되면, .env 형식의 파일들은 git에 올라가지 않는다.

실제로 .env와 .gitignore을 추가한 뒤 git status를 통해 확인을 해보면 .env 파일은 변경사항에 잡히지 않는 모습이다.

 

js파일에서 .env의 값 사용하기

require("dotenv").config();
console.log(process.env.MYSQL_PASSWORD);

이제 .env에서 저장한 값을 사용하고 싶다면 위 코드를 통해 사용할 수 있다.

require()을 통해 dotenv를 사용하고, process.env.변수명 을 통해 값을 가져와 사용할 수 있다.

 

const mysql = require("mysql2");

require("dotenv").config();

const connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  database: "board",
  password: process.env.MYSQL_PASSWORD,
  dateStrings: true,
});

module.exports = connection;

이를 응용하여 다음과 같이 MySQL 연결을 할 때 민감한 password 값을 .env로부터 가져와

password가 git에 올라갈 걱정 없이 사용할 수 있다!