환경변수
- OS나 어플리케이션에서 사용되는 데이터 값을 저장하는 메커니즘
- 프로그램의 동작을 조정하거나 구성
- 공개적으로 보여주지 않을 정보 (ex. api key 값)
- 개발 서버와 배포 서버에서 다르게 설정할 정보 (ex. 파일 경로 등)
Node.js 환경변수
- process.env 객체를 통해 환경변수에 접근
const ps = process.env;
console.log(ps);
- .env
- 환경변수를 관리하기 위해 .env 파일을 사용하는 것이 일반적
- git 저장소에 업로드 ❌
- FileZilla를 통해 서버에 파일만 업로드
환경변수 사용
npm i dotenv
require("dotenv").config()
app.get("/", (req, res) => {
res.send("log");
console.log(process.env.NAME);
console.log(process.env.NODE);
});
package.json 사용
- 개발 과정의 DB와 production의 DB를 분리하기 위해 package.json에서 환경변수 설정
// cross-env : Node.js 프로젝트에서 OS 간 환경변수 설정을 도와주는 모듈
npm i cross-env
"scripts": {
"start": "cross-env NODE_ENV=development node index.js",
"start:prod": "cross-env NODE_ENV=production node index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},