NodeJs

NodeJs.dotenv 사용하기

char1ey 2023. 1. 28. 00:25
목차
1. dotenv
2. dotenv 이해하기

1. dotenv

 

 

NodeJs에서 사용할 수 있는 라이브러리이다.

 

여러사람이 협업하여 프로젝트를 진행할 때 각자의 데이터베이스, 포트 등의 내용이 조금씩 다를 수 있다.

그럴때마다 일일이 파일을 찾아가서 고쳐야하는 번거로움없이 한 곳에서 관리할 수 있도록 해준다.

 

npm install dotenv

 

다운을 받으면 .env 파일을 생성해서 사용할 수가 있다.

 


사용방법

 

require("dotenv").config()

환경변수를 사용할 파일에 불러온다음에 바로 실행해주면 된다.

 


파일 생성하기(사용예시)

 

⚙️ .env

PORT=3000
NODE_ENV=test
DB_HOST=localhost
DB_PORT=3306
DB_USER=abcd
DB_PASSWORD=1234
DB_DATABASE=가나다라

 

 

server.js

require('dotenv').config()

const express = require('express')
const app = express()
const PORT = process.env.PORT || 3005

app.listen(PORT, () => {
    console.log("서버 실행")
    console.log(`${PORT}에 접속하였습니다.`)
})

 

서버를 실행하여 console.log에 찍히는 PORT를 한번 보도록하자.

 

<그림 1>

 

 

.env 파일에 있는 환경변수가 찍힌다.

 

 

사용법을 정리해보자면, 다음과 같이 정리할 수 있다.

 

  1. dotenv 파일을 받는다.
  2. .env 파일을 생성한다.
  3. .env 파일에 변수를 선언해놓는다.
  4. 변수를 사용할 파일에 가서 불러온(require) 후에 config()를 실행하여 사용한다.

 

간단한 방법으로 사용이 가능하지만,

무슨 원리로 돌아가는지 궁금해서 직접 console.log를 찍어확인해봤다.


2. dotenv 이해하기

 

 

dotenv를 가져와서 콘솔로그에 찍어보도록하자.

 

const a = require('dotenv')
console.log(a)

 

<그림 2>

다행히 딱 2가지의 메서드가 존재한다.

위에서 사용했던 config를 실행해서 콘솔로그에 찍어보도록 하자.

 

const a = require('dotenv').config()
console.log(a)

 

<그림 3>

 

우리가 처음에 봤던 .env 파일의 내용이 객체형태로 들어가있는 것을 알 수 있다.

 

뿐만아니라, 실행을 하게되면 process.env에 들어가도록 설정되어있다.

 

require('dotenv').config()
console.log(process.env)

 

<그림 4>

위와 같은 원리로 변수에 따로 담아 사용하는 것이 아니라 환경변수에 키와 값의 형태로 선언이 되어 사용할 수 있으니,

실행하여 메서드를 호출만 해주면된다.