[NodeJs] 환경변수설정(.env) updated_at: 2024-12-15 22:16

환경변수설정

redis나 mysql 정보등 중요정보 등은 환경변수에서 관리하는 것이 보안등에 안정적이이므로 환경변수를 사용하기를 권장한다.

dotenv 사용하기

npm install dotenv

project root에 .env 파일을 생성한다.
.env

DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=db_user
DB_PASSWORD=db_password
DB_DATABASE=database

js 파일에서 호출하여 사용하기

require('dotenv').config();
const mysql = require('mysql');
const pool = mysql.createPool(
  {
    host: process.env.DB_HOST || '127.0.0.1',
    user: process.env.DB_USER || 'db_user',
    password: process.env.DB_PASSWORD || 'db_password',
    database: process.env.DB_DATABASE || 'database',
    multipleStatements: true
  });

js에서 호출

require('dotenv').config();
console.log(process.env.DB_HOST)
console.log(process.env.DB_USER)
console.log(process.env.DB_PASSWORD)
console.log(process.env.DB_DATABASE)

그외

  • https://unix.stackexchange.com/questions/21598/how-do-i-set-a-user-environment-variable-permanently-not-session/21600 : shell별 env 세팅법
  • https://steemit.com/kr/@inspiredjw/node-js-nodeenv
  • https://www.tecmint.com/set-unset-environment-variables-in-linux/

일시적

export NODE_ENV=production

영구적

vi ~/.bash_profile
NODE_ENV="production"; export NODE_ENV

다시 logout 후 login 되면 활성화 됨을 확인 할 수 있습니다.

if (process.env.NODE_ENV == 'production') {
  console.log(""Production Mode"");
} else if (process.env.NODE_ENV == 'development') {
  console.log(""Development Mode"");
}
  • http://afrobambacar.github.io/2017/03/proccess-env-of-nodejs.html

$env

  • 환경변수 생성 : $env NAME=VALUE // 이것은 작동안됨 아래 생성 이용
  • 환경변수 삭제 : $env -u NAME

생성

export NODE_ENV=production // Terminal, Shell 에서 사용
set NODE_ENV=production // Windows 에서 사용

확인

$env | grep MYLOG
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글