env 즉 환경변수는 node.js 환경에서 개발하다보면 많이 사용하게 된다.

env 변수는 프로젝트 자체의 설정 내용이나 키값 처럼 외부로 노출되면 안되는 내용을 넣는 용도로 사용 된다.

 

* node에는 기본적으로 process 객체가 있으며 이 객체 안에 env 객체 즉 prcess.env가 있다.

node
process.env

{
  USER: 'ex',
  MallocNanoZone: '0',
  __CFBundleIdentifier: 'com.microsoft.VSCode',
  COMMAND_MODE: 'unix2003',
  LOGexE: 'ex',
}

 

* 추가적으로 node를 실행하기전에 사용자가 임의로 만든 환경변수를 넣어 둘수도 있다.

ENV_VAR='env_var' API_KEY='api_key' node
process.env

{
  ENV_VAR: 'env_var',
  API_KEY: 'api_key'
}

 

* 하지만 대부분의 경우 dotenv 모듈과 함께 쓴다.

// dotenv module install
npm i dotenv

// .env file create
touch .env

 

.env

# 주석은 샵으로 표시한다.
S3_BUCKET="YOURS3BUCKET"
SECRET_KEY="YOURSECRETKEYGOESHERE"

 

app.js

// dotenv require
require('dotenv').config()

// call env variable
const env1 = process.env.S3_BUCKET; 
const env2 = process.env.SECRET_KEY;

console.log('S3_BUCKET: ' + env1);
console.log('SECRET_KEY: ' + env2);

// S3_BUCKET: YOURS3BUCKET
// SECRET_KEY: YOURSECRETKEYGOESHERE

env 파일 역시 여러가지 파일로 분할해서 사용 할 수 있다. 각각의 환경의 맞는 env파일을 만들어서 사용하는 것이 좋다.

'Node & AWS > Node' 카테고리의 다른 글

eslint, prettier, eslint-config-airbnb #2  (0) 2022.10.09
eslint, prettier, eslint-config-airbnb #1  (0) 2022.10.09
socket.io (WebSocket)  (0) 2022.10.03
JWT (JSON Web Token)  (1) 2022.09.25
http module #0  (0) 2022.01.18