환경변수

최경락 (K_ROCK_)·2022년 1월 17일
0

환경변수란?

  • 리눅스 기반 PC에서는 JS에서의 변수와 같이, 우리가 사용하는 PC 즉, 시스템에도 변수를 지정 할 수 있다.
  • 여기서 시스템에 설정된 전역변수를 환경변수라고 한다.
  • 이를 이용하면 API Key 처럼 네트워크에 공개돼서는 안되는 정보를 시스템의 환경변수에 지정하고 사용 할 수 있다.

export

  • 시스템에 지정된 환경변수를 전부 확인하거나, 새로운 변수를 선언한다.
  • CLIexport 를 작성하는 것으로 시스템에 선언된 환경변수를 확인 할 수 있다.
  • 또한 export 변수이름=”내용” 으로 새로운 변수를 선언 할 수 있으며, 이때 선언되는 변수는 해당 터미널에서만 작동하는 변수가 된다.
export #환경변수 전부 확인하기

export hometown="incheon" #환경변수 추가하기

→ 환경변수를 추가하는 경우 등호의 전후에 공백이 있으면 안된다.

export hometown="incheon" #Good

export hometown = "incheon" #Bad

echo

  • 원하는 환경변수만 확인한다.
  • echo $변수명 으로 사용하며, 해당하는 변수의 내용을 출력한다.
    → 여기서 $뒤의 내용이 변수임을 나타낸다.
export hometown="incheon"

echo $hometown #incheon 출력
  • 해당 변수명에 아무것도 지정돼있지 않은 경우에는 공백이 출력된다.

JS로 환경변수 가져오기

  • process.env 객체를 이용하여 시스템에 설정된 환경변수JSON으로 불러 올 수 있다.
//index.js

console.log(process.env)

node index.js 로 터미널에서 내용을 바로 확인 할 수 있으며, 환경변수를 추가할 때 마다 즉시 내용이 반영되는 것을 확인 할 수 있다.

dotenv 라이브러리

  • npm의 라이브러리 중 하나로, 해당 라이브러리를 설치하면 JS상에서 시스템에 선언된 환경변수를 JSON으로 불러와 사용 할 수 있다.
  • 원하는 디렉토리를 npm으로 관리를 시작하고, dotenv 를 설치하여 사용한다.
#관리하고자 하는 폴더 내부

npm init # 관리 시작
npm i dotenv # 라이브러리 설치

환경변수 영구적용

  • export를 이용한 환경변수의 선언은 해당 터미널에서만 작동하게 되는데, dotenv 라이브러리와 .env 파일을 이용하게 되면 환경변수를 임시적이 아닌 영구적으로 사용이 가능하다.
  • dotenv.config() 메소드를 통하여 .env 의 변수를 불러 올 수 있다.
// .env

color="black"
//index.js

const dotenv = require("dotenv")
dotenv.config() // .env 파일을 불러온다.

console.log(process.env.color) // black
// env 내부의 환경변수 color의 값을 가져왔다.

0개의 댓글