본문 바로가기
Language

[Node.js] .env 파일로 환경변수를 관리 하기

by ZeroRadish 2024. 6. 5.


아래는 server.js에서 pg패키지를 이용하여 Postgresql 접속테스트를 하기 위해 작성한 코드 일부에요

new Clienct를 생성할때 하드코딩 되어 있는 접속 정보 객체의 값을 환경변수로 처리해보려고요

2024.06.04 - [Language] - [Node.js] PostgreSQL로 간단한 웹 데이터 조회하기

 

const express = require('express');
const path = require('path');
const { Client } = require('pg');

const app = express();
const port = 3000;

const client = new Client({
  user: 'fubarvis',
  host: 'localhost',
  database: 'fubarvis',
  password: 'fubarvis',
  port: 5432,
});

client.connect();

 


dotenv 설치

dotenv는 Node.js 애플리케이션에서 환경 변수를 쉽게 로드하고 사용할 수 있도록 도와주는 패키지입니다. 이 패키지는 .env 파일에 정의된 키-값 쌍을 process.env 객체로 로드하여, 코드에서 환경 변수에 접근할 수 있게 합니다.
npm install dotenv

 

 

.env 파일 생성

pg-express-app/
├── node_modules/
├── public/
│         └── index.html
├── .env

├── server.js
├── package.json
└── package-lock.json

DB_HOST=localhost
DB_DATABASE=fubarvis
DB_USER=fubarvis
DB_PASSWORD=fubarvis
DB_PORT=5432

 

server.js 수정

.evn 파일 로드
환경 변수 처리
require('dotenv').config(); // .env 파일 로드
const express = require('express');
const path = require('path');
const { Client } = require('pg');

const app = express();
const port = 3000;

// 환경변수 처리
const client = new Client({
  user: process.env.DB_USER,
  host: process.env.DB_HOST,
  database: process.env.DB_DATABASE,
  password: process.env.DB_PASSWORD,
  port: process.env.DB_PORT,
});

client.connect();
...