Node.js 환경 변수 사용법

FeelSoo·2022년 5월 3일
0

환경 변수란? linux OS에 설정한 전역변수를 의미한다. 즉, 커널 영역에 설정된 전역 변수를 뜻한다.

그렇다면 OS에 전역변수를 설정하는 이유는 뭘까?

외부에 공개하는 오픈 소스 프로젝트를 진행한다고 했을 때 공개되도 상관없는 코드, 안되는 코드들이 있을 것이다.

후자의 케이스로는 api key, 포트 넘버, DB 패스워드 등이 될 수 있는데 이들을 OS의 커널에 저장해놓고 커널에서 불러오는 방식으로 사용한다면 외부 유출 가능성을 낮추고 보안성을 높일 수 있다.

환경 변수 사용을 위한 설명 순서는 다음과 같다.

  1. 환경 변수 생성 ( export )

  2. 환경 변수 불러오기 ( dotenv )

  • Node.js에서 환경 변수 영구 적용 ( .env)

  1. 환경 변수 생성 ( export )



1. 터미널에서 명령어 export 입력을 통해 커널에 설정된 현재의 전역변수들을 확인할 수 있다.

2. export (설정할 환경 변수 이름) = "환경 변수 값" // 환경 변수를 생성한다. 

ex) export DB_Password ="is_good" // DB_Password 라는 이름을 가지고 is_good이라는 값을 가지는 환경 변수 생성 

3. echo $ (환경변수 이름 ) ---- // 생성한 환경 변수 조회

ex) echo $DB_Password



  1. 환경 변수 불러오기 ( dotenv )

< 자바 스크립트에서 환경 변수 사용하기 >

1. mkdir good // good 이라는 폴더 생성
   cd good // good 이라는 폴더 디렉토리로 접속
  
  
2.npm init // 엔터 키를 여러번 입력해 init을 마칩니다.
  npm i dotenv // dotenv 모듈을 설치합니다.
  
----- [커맨드] npm 모듈 dotenv를 설치합니다.
  
  
  3. 이후 index.js라는 파일을 생성하고 console.log(process.env)를 작성합니다. 
  
  (cli의 기본 에디터인 nano를 사용해도 되고 VS Code를 사용해도 좋습니다 )
  
  4. 이후 터미널 창에 node index.js를 입력하면 환경 변수 목록들을 확인할 수 있습니다.



  1. Node.js에서 환경 변수 영구 적용 ( .env)



명령어 export 로 적용한 환경변수는 현재 사용 중인 터미널에서만 임시로 사용이 가능합니다. 
  
  환경변수를 Linux 운영체제에 저장하는 방법은 여러 가지가 있지만, Node.js에서는 파일 .env를 만들어 저장하는 방법을 사용합니다.

  -------

  1. good 폴더 안에 .env 파일을 생성한 후 원하는 환경 변수를 입력한 뒤 저장합니다
  
  ex) --- DB_Password=is_good
  
  
  2. 생성해놓은 index.js에 다음의 코드를 입력합니다.
  
  const dotenv = require("dotenv"); // dotenv 모듈 불러오기
dotenv.config(); // .env 파일 인식하고 환경변수 세팅 
  
  **dotenv.config(경로)는 원하는 .env파일의 위치를 직접 지정하여 세팅 가능
  
console.log(process.env.DB_Password);
  
[코드] index.js에서 dotenv.config 메소드를 이용해, process.env로 .env 파일 내용을 불러올 수 있습니다.
  
  3. 실행해서 환경 변수가 잘 설정되었는지 확인합니다
  
  --- node index.js



모든 작업을 마쳤고 github에 올릴 예정이라면 .gitignore 파일을 생성한 후 .env를 등록해주자. env 파일이 git에 올라가는 것을 막아준다.





아래 사진은 메모리 영역을 도식화한 것인데 커널 영역에 저장되어 있는 환경 변수를 불러와 스택에 옮길 수 있는 것을 알 수 있다. ( env )

링크텍스트 --- 참고

profile
세상은 넓고 배울건 많다

0개의 댓글