본문 바로가기
IT/NodeJS

Node.js에서 환경 변수 다루기 (process.env)

by 성준하이 2024. 5. 11.
반응형

자바 스프링에서는 환경변수를 yml 파일이나 properties 파일에 다룬다.(참고 포스팅 참고)

 

NodeJS 에서는 어떻게 다루는지 확인해보면

 

process.env 를 통해서 환경 변수에 접근하게 된다.

process라고 하면 NodeJS에 내장된 전역적으로 사용가능한 객체여서 별도로 import 해올 필요없이 어디서든지 사용이 가능하다.

 

일단 아래 명령어를 보면 확인이 가능하다.

$ node    
Welcome to Node.js v21.5.0.
Type ".help" for more information.
> process.env.USER
'thenicesj'
> process.env.HOME
'/Users/thenicesj'
> process.env.LANG
'ko_KR.UTF-8'
> process.env.API_KEY
undefined


 

설정을 하는법은 아래와 같다.

 

- 한번 실행할 경우

$ API_KEY=test DB_PASSWORD=test node
Welcome to Node.js v21.5.0.
Type ".help" for more information.
> process.env.API_KEY
'test'
> process.env.DB_PASSWORD
'test'

 

- 전역으로 설정할 경우(export 사용)

$ export API_KEY=test
$ export DB_PASSWORD=test
$ node
Welcome to Node.js v21.5.0.
Type ".help" for more information.
> process.env.API_KEY
'test'
> process.env.DB_PASSWORD
'test'

 

- node 내에서 설정

$ node
Welcome to Node.js v21.5.0.
Type ".help" for more information.
> process.env.API_KEY = "test"
'test'
> process.env.API_KEY
'test'
> process.env.API_KEY = "abcd"
'abcd'
> process.env.API_KEY
'abcd'
> delete process.env.API_KEY
true
> process.env.API_KEY
undefined

 

 

프로그래밍에서 사용

 

이렇게 설정한 전역 변수의 설정 환경변수는 NodeJS 에서 아래와 같이 사용이 가능하다.

##index.js

..이상 생략
const { API_KEY, DB_PASSWORD } = process.env;

console.log('API_KEY:', API_KEY);
console.log('DB_PASSWORD:', DB_PASSWORD);
..이하 생략

 

설정을 안해주면 undefined가 나온다

$ node index.js
API_KEY: undefined
DB_PASSWORD: undefined

참고 포스팅

https://thenicesj.tistory.com/531

 

application.properties vs application.yml

본 포스팅의 주제는 제목과 같다. 먼저 둘의 차이를 보기 위해서 예제를 보면 다음과 같다. application.yml server: port: 8080 servlet: context-path: /test encoding: charset: UTF-8 enabled: true force: true spring: datasource:

thenicesj.tistory.com

 

반응형

'IT > NodeJS' 카테고리의 다른 글

NodeJS 에서 Bcrypt 사용  (21) 2024.05.12
[Error] return process.dlopen(module, path.toNamespacedPath(filename));  (12) 2024.05.09
npm fund 문구(에러 아님)  (10) 2024.05.08

댓글