node.js는 기본적으로 백엔드 프레임워크이다.
즉 data 네트워크를 위한 포트, DB 등 데이터 전달 과정이 원활하게 이루어지도록 관리가 필요하다.
프로젝트 수준의 환경변수 사용이 가능하다.
dotenv는 DB 관련 정보를 소스내 오픈하지 않고, 별도 외부 환경변수파일에 저장하여 보안성과 코드의 가독성 등을 높여줄 수 있는 패키지를 제공한다.
즉 전역으로 사용할 변수 및 포트, DB 경로 등을 환경변수에 저장할 수 있다.
이 저장한 환경변수는 data 네트워킹을 할 때 접근이 가능하며, 프로젝트 내부적으로 활용할 수 있다(사용자 맞춤 환경변수).
시스템 전역에 디폴트 값으로 활용할 수 있는 경로 및 변수
흔히 프로그램이나 소프트웨어를 설치할 때 다양한 패키지나 모듈 등 구성요소 등이 컴퓨터 특정 공간에 설치가 되는 것을 볼 수 있다.
보통 설치 경로는 해당 프로그램 설치 가이드를 통해 디폴트(이미 정해진 경로나 값)되어져 있는데, 이 디폴트 값은 향후 프로그램이 실행될 때 참조하거나 내부적인 로직 실행 시 하나의 상수값으로 이용될 수 있다.
이러한 시스템, 컴퓨터 전역에 사용되는 상수값 및 디폴트값을 환경변수라 한다. 보통 환경변수는 경로(디렉토리)를 의미한다.
이 환경변수가 시스템 적으로 약속되어져(이미 정의되어져 있고, 이 약속을 사용자가 임의로 변경하지 않는 다는 가정 하에) 프로그램 실행 시 이 환경변수를 참조하여 근처 패키지나 모듈 등을 정상적으로 실행할 수 있는 것이다.
npm install --save dotenv
//env 파일에 저장할 환경변수 값을 지정
SERVER_PORT = 4200
DB_HOST = localhost;
DB_USER = root;
DB_PASSWORD = password;
//해당 dotenv 파일을 import하여 활용
require('dotenv').config();
//환경변수를 DB화할 수 있고, 이를 사용자가 json 파일로 재정의하여 활용가능
db.connect({
username : process.env.DB_USER
password : process.env.DB_PASWORD
});
코드에 대한 이해가 우선이다. sugar syntax보다는 sugar logic!