프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임 [위키피디아]
환경변수는 OS입장에서 해당 프로세스를 실행시키기 위하여 참조하는 변수이다.
우리가 컴퓨터로 하는 모든 작업들은(게임, 인터넷창띄우기, 그림판, 메모장, ...) OS라는 프로그램에 의하여 실행되는 자식프로세스인데 이 프로세스들을 실행킬 때 OS입장에서 참조하는 변수가 바로 환경변수이다.
Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology. [dotenv 공식문서]
해석 : Dotenv는 .env 파일에서 process.env로 환경 변수를 로드하는 제로 종속성 모듈입니다.
dotenv는 환경변수를 .env파일에 저장하고 process.env로 로드하는 의존성 모듈이다.
dotenv를 사용하는 이유는 우리가 개발을 하는 과정에서 서버주소, 고유 API KEY 값 등 필요한 정보들을 저장을 하게 된다. 그리고 이러한 정보들은 민감한 정보임과 동시에 보안이 이루어져야 하는 정보들이다. 만약 이러한 정보들이 오픈소스(깃허브)에 공개될 경우, 해킹을 당하거나 보안적인 면에서 위험할 수 있다.
이러한 문제로 dotenv패키지를 이용하여 환경변수 파일(.env)을 외부에 만들어 접근할 수 있게 하고, 개발 초기 단계에서 세팅하기를 권고한다.
# npm
npm install dotenv
# .env 파일
DATABASE_NAME='[DB명]'
DATABASE_USERNAME='root'
DATABASE_PASSWORD=''
# 해당 파일
//import dotenv from 'dotenv'
require('dotenv').config();
# .gitignore 파일
# dotenv environment variables file
.env
.env파일은 루트에 위치해야한다.
이거 위치 제대로 설정안해주면 에러난다.
https://velog.io/@reveloper-1311/DB-Node.js%EC%97%90%EC%84%9C-%ED%99%98%EA%B2%BD%EB%B3%80%EC%88%98-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0dotenv 원본 글