
환경변수는 운영 체제(OS)나 애플리케이션에서 사용되는 데이터 값을 저장하는
메커니즘을 말한다.
프로그램의 동작을 조정하거나 구성하고, Node.js에서도 이러한 환경변수를 활용하여 애플리케이션의 설정과 동작을 조정한다.
1-1. 환경 변수와 process.env
1-2. 환경 변수 설정과 라이브러리 설치
npm install dotenv 명령어로 설치1-3. 라이브러리 설치와 환경 변수 활용
라이브러리 설치를 통해 환경 변수를 활용하는 프로그램을 생성할 수 있다.
라이브러리 설치 후 process.env를 통해 환경 변수를 활용할 수 있다.
환경 변수의 중요성을 이해하고 이를 관리하기 위해 필요한 작업을 수행해야 한다.
프로젝트 진행 시, 환경 변수를 올리지 않고 라이브러리를 설치해도 된다.
.env 파일에 PORT=8000이라 명시했으면 .js 파일에
const express = require("express");
const dotenv = require("dotenv");
dotenv.config();
const app = express();
const PORT = process.env.PORT;
app.listen(PORT, () => {
console.log(`http://localhost:${PORT}`);
});
이렇게 써줄 수 있다.
2-1. package.json설치
npm init 명령어를 통해 'package.json' 파일을 생성해야 한다.npm install cross-env명령어로 "cross-env": "^7.0.3",가 설치 된것을 확인한다. (Node.js 프로젝트에서 운영 체제 간 환경변수 설정을 도와주는 모듈)2-2. package.json의 활용
node index.js 명령어를 사용할 수 있다.2-3. package.json의 구체적인 활용 방법
( package.json파일 )
"scripts": {
"start": "cross-env NODE_ENV=development nodemon index",
"prod": "cross-env NODE_ENV=production nodemon index",
"test": "echo \"Error: no test specified\" && exit 1"
},
"start": "cross-env NODE_ENV=development nodemon index",
이 명령어는 NODE_ENV 환경 변수를 development로 설정하고, nodemon을 사용하여 index.js 파일을 실행한다.
"prod": "cross-env NODE_ENV=production nodemon index",
이 명령어는 NODE_ENV 환경 변수를 production으로 설정하고, nodemon을 사용하여 index.js 파일을 실행한다.
"test": "echo \"Error: no test specified\" && exit 1"
이 명령어는 테스트 스크립트가 정의되지 않았음을 알리는 메시지를 출력하고, 에러 코드를 반환한다. 실제 테스트를 추가하기 전에 placeholder로 남겨두는 경우이다.
👍 cross-env설치 장점 👍
환경 분리 : NODE_ENV 변수를 통해 개발(development)과 프로덕션(production) 환경을 쉽게 구분할 수 있다.
일관성 : cross-env 덕분에 어떤 운영 체제에서든 동일한 방식으로 환경 변수를 설정할 수 있다. (협업시 팀원들간 동일한 명령어를 사용 하여 일관성 good)
편리한 실행 : npm start 또는 npm run prod 같은 명령어로 간편하게 서버를 실행할 수 있다.
유지 관리 용이 : 스크립트를 통해 환경에 따라 다른 설정을 쉽게 관리할 수 있다.
테스트의 용이성 : 이후에 테스트 환경을 추가하고 싶을 때, scripts에 쉽게 추가할 수 있어 유지보수와 확장이 용이하다.