환경 변수란?
: 일반적으로 우리는 코드 베이스는 하나만 관리하고, 개발, 테스트, 운영 등 여러 환경에 애플리케이션을 배포하는데요. 어느 환경에 배포하느냐에 따라서 다르게 설정해야하는 항목은 보통 운영 체제 레벨에서 환경 변수를 통해 관리하게 됩니다.
대표적인 예로, 개발 환경에서는 로컬 DB를 사용해야하는데, 운영 환경에서는 원격 DB를 사용해야하는 경우를 들 수 있습니다. 뿐만 아니라 DB password나 API key와 같은 인증 정보는 공개된 코드 저장소에 올리면 안 되기 때문에 환경 변수로 저장해놓고 사용하는 것이 일반적입니다.
process.env
- Node.js 에서 환경 변수에 접근할 때 process.env 라는 내장 자바스크립트 객체를 사용
- process 는 전역 객체이므로 애플리케이션 어디에서든지 접근이 가능
dotenv
특징
- .env 파일에서 process.env로 환경 변수를 로드하는 제로 종속성 모듈
- Twelve-Factor App 방법론을 기반으로 코드와 별도의 환경에 정보를 구성함
설치 방법
npm install dotenv --save
예제 코드
- example.js
require('dotenv').config({ path: 'setting.env' });
console.log(process.env.MYSQL_HOST)
console.log(process.env.MYSQL_PORT)
console.log(process.env.MYSQL_USERNAME)
console.log(process.env.MYSQL_HOST)
console.log(process.env.MYSQL_DB)
console.log(process.env.MYSQL_LIMIT)
- setting.env
MYSQL_HOST = localhost
MYSQL_PORT = 3306
MYSQL_USERNAME = "root"
MYSQL_HOST = "toor"
MYSQL_DB = "testDB"
MYSQL_LIMIT = 10
실행 결과
C:\example>node example.js
# Reference
[1] npmjs, package/dotenv
URL : https://www.npmjs.com/package/dotenv
[2] daleseo, js-node-process-env, Node.js에서 환경 변수 다루기 (process.env)
URL : https://www.daleseo.com/js-node-process-env/
[3] daleseo, js-dotenv, dotenv로 환경 변수 관리하기
URL : https://www.daleseo.com/js-dotenv/
[4] devhyun.com, NodeJS 환경 변수 설정
'Programming > JS & TS' 카테고리의 다른 글
[Javascript] Skill up (0) | 2022.01.12 |
---|---|
[Back-End] Node.js 를 효율적으로 사용하는 법은? (무중단, 병렬처리) (0) | 2022.01.06 |
[Back-End] Web 운영을 위한 로그 관리 (0) | 2022.01.05 |
[Back-End] 이메일 프로토콜 (SMTP, IMAP, POP) & Nodemailer 사용법 (0) | 2022.01.04 |
[Javascript] '...' (Triple dots) 문법이란 (0) | 2021.12.23 |
댓글