Linux 운영체제에는 이미 많은 환경변수가 설정되어 있다
자바스크립트 내에서 환경변수들을 사용하기 위해서는 dotenv라는 모듈이 필요하다
프로세스 (export로 환경변수 설정 => dotenv를 통해 환경변수를 가져와 사용하기)
환경변수 출력하기(이건 dotenv 모듈없이도 확인 가능하다)
=> 생성한 디렉토리에 파일 생성 (nano index.js)
=> 생성한 파일에 process.env 출력하기 (확인해보기 cat index.js)
=> Node.js에서 파일 실행하기 (node index.js)
Node.js의 내장 객체 process.env를 이용하면, 명령어 export , env 로 확인한 내용과 동일한 내용을 객체로 출력한다
🙌 .env 파일을 환경변수로 사용할 수 있게 하는 게 dotenv 모듈이다 🙌
dotenv 패키지 다운로드
1) 디렉토리 생성
2) npm init #엔터 쭉쭉쭉
3) npm i dotenv #모듈 설치
자바스크립트에서 환경변수 이용하기
👉 명령어 export 로 적용한 환경변수는 현재 사용 중인 터미널에서만 임시로 사용이 가능하다.
1) 환경변수를 저장할 .env파일을 만들어 환경변수를 입력한다
nano .env
key = "value" // 입력
2) 환경변수를 출력할 파일일 만들기(전에 사용한 파일을 수정하는 방식으로 진행하겠음)
index.js에서 dotenv.config 메소드를 이용해 .env 파일을 process.env에 적용할 수 있다
nano index.js
// 원본
console.log(process.env);
// 내용변경
const dotenv = require("dotenv");
dotenv.config();
// 👉 const config = dotenv . parse ( buf ) // 객체 (출처 npm dotenv 모듈 설명)
console.log(dotenv);
console.log(dotenv.config());
console.log(process.env.key);
3) idex.js를 node로 실행한다
node index.js
환경변수의 장점
환경변수를 이용해 API key, DB password와 같이 민감한 정보를 저장하고 관리할 수 있습니다.
그뿐만 아니라 서로 다른 PC 또는 여러 .env 파일에서, 같은 변수 이름에 다른 값을 할당할 수 있습니다.
먼저 왜 같은 값에 다른 값을 할당해야 하는 상황이 생길까?
같은 값에 다른 값을 할당하면 원래값이 사라지는 게 아닌가?
👉 실제 제품(서비스)를 개발하는 과정을 생각해보자
실제 제품을 개발할 때는 다양한 환경이 필요하다!
애플리케이션을 개발하는 환경을 예로 들어보자
① 내 로컬 환경으로 개발을 열심히 한다! (개인 API)
② 내가 개발한 서비스가 잘 돌아가는 지 확인해야한다 (테스트 환경이 필요하다 => test API가 필요하다)
😭 내 개인 환경의 API를 사용해서 배포를 하면 일일 요청량을 개인 API가 감당할 수 없는 경우가 생긴다
③ 실제 제품 환경은 위의 경우를 방지하기 위해 기업용 API를 사용할 수 있다 (기업용 API가 필요하다)
각각의 .env파일의 같은 변수에 다른 값을 할당하면 환경이 변한 때마다 코드를 수정하지 않아도 된다!
'리눅스' 카테고리의 다른 글
리눅스 환경변수 1) 설정 및 조회 (0) | 2021.10.05 |
---|---|
리눅스 사용권한 2) chmod: 권한을 변경하는 명령어 (0) | 2021.10.05 |
리눅스 사용권한 1) 리눅스 실행과 읽기 권한 차이 (0) | 2021.10.05 |
댓글