.env 환경변수 파일은 Node.js에서 프로그래밍에 필요한 값들을 관리하는 역할을 한다.
.env 파일에 정의된 미리 정의된 값을 애플리케이션에서 활용하고 싶을 때 사용한다.
라고 되어 있는데, 일단 환경변수가 무엇인지부터 정리할 필요가 있다.
환경이란 것은 소프트웨어가 동작하는 공간을 의미한다.
컴퓨터라고 생각한다면, 환경변수는 그 컴퓨터에서 저장된 값이다.
각 컴퓨터에서는 똑같은 변수라고 하더라도 그 안의 값들이 다 다를텐데, (예를 들어 A컴퓨터에서는 비밀번호가 #1234라면 B 컴퓨터의 비밀번호는 #4321)
${비밀번호}를 입력해주세요 라는 명령어를 입력하면 그 환경에서 지정한 값만 넣어주면 되기 때문에
어느 환경에서도 사용할수가 있게 된다.
환경변수를 예로 들때 개발용과 배포용 환경변수를 예로 들수가 있다.
개발용(mode : dev)과 배포용(mode : prod) 의 개발환경이 각각 다른데, 개발용의 환경에서는 개발자가
디버깅을 쉽게 할 수 있도록 해서 화면에 개발 관련된 정보들이 띄어져 있다.
하지만 이것이 사용자들이 사용하는 배포용에서도 띄어지면 안되는데, 개발용 환경에서 일일히 설정해 줄수 없기
때문에 각각 다른 환경변수를 넣어주어서 그 조건에 맞게 화면을 띄어줄 수 있다.
또한 위에서 사용했던 비밀번호처럼, 오픈소스나 남들에게 공개되는 코드에서는 보안에 관련된 정보들이
쓰여져 있으면 안되기 때문에 환경변수를 지정해주어서 보안에 용이하게 할 수 있다.
정리하자면 .env 는 Node.js 내에서 필요한 값들을 정리해놓은 환경변수 파일이다.
이 안에 값들을 저장해놓고 환경에 맞게 그 소프트웨어 내에서 사용할 수 있도록 한다.
Node.js 에서 환경변수들은 dotenv 라이브러리를 사용해서 사용할 수 있다.
COOKIE_SECRET = cookiesecret //.env 파일에서 키 = 값 형식으로 환경 변수들 저장
const dotenv = require('dotenv');
dotenv.config(); // dotenv 패키지를 불러온뒤
//config 함수를 실행시켜서 .env 파일안에 저장된 환경변수들을 출력할수 있게 한다.
console.log('COOKIE_SECRET = ', process.env.COOKIE_SECRET); // process.env 객체를 통해 환경변수에 접근한다.
콘솔창에서 .env 파일에 저장했던 변수가 잘 나타나는 것을 확인할 수 있다.