.env
파일은 기본적으로 단순한 키-값 쌍 형태로 구성되며, 직접적으로 배열이나 객체를 정의할 수 있는 구문을 지원하지 않습니다. 각 키와 값은 KEY=VALUE
형식을 따릅니다. 그러나 배열이나 객체와 같은 복잡한 데이터 구조를 환경 변수로 사용하고 싶은 경우, 문자열로 직렬화하여 저장한 후 애플리케이션에서 이를 다시 역직렬화하는 방법을 사용할 수 있습니다.
배열을 .env
에 저장하는 방법
배열을 .env
파일에 저장하려면, 배열 요소를 쉼표로 구분된 문자열로 변환하여 저장합니다. 예를 들어, ["value1", "value2", "value3"]
라는 배열이 있다면, 이를 VALUE_LIST=value1,value2,value3
형태로 저장할 수 있습니다.
.env
파일 예시:
MY_ARRAY=value1,value2,value3
애플리케이션에서 이 값을 사용할 때는 문자열을 분할하여 다시 배열로 변환합니다.
Node.js 예시:
require('dotenv').config();
// 환경 변수에서 문자열을 가져온 후 쉼표를 기준으로 분할하여 배열 생성
const myArray = process.env.MY_ARRAY.split(',');
console.log(myArray); // ["value1", "value2", "value3"]
객체를 .env
에 저장하는 방법
객체를 .env
파일에 저장하는 경우, JSON 형식으로 객체를 직렬화하여 문자열로 변환한 다음 저장합니다. 그리고 애플리케이션에서 사용할 때는 이 문자열을 JSON으로 파싱하여 객체로 다시 변환합니다.
.env
파일 예시:
MY_OBJECT={"key1":"value1","key2":"value2"}
Node.js 예시:
require('dotenv').config();
// 환경 변수에서 문자열을 가져온 후 JSON으로 파싱
const myObject = JSON.parse(process.env.MY_OBJECT);
console.log(myObject); // { key1: "value1", key2: "value2" }
주의사항
- 환경 변수에 저장된 데이터를 파싱할 때는 오류 처리를 고려해야 합니다. 잘못된 형식의 문자열이 주어지면 JSON.parse() 함수가 예외를 발생시킬 수 있습니다.
.env
파일과 환경 변수는 주로 구성 데이터나 비밀번호와 같은 민감한 정보를 저장하는 데 사용됩니다. 복잡한 데이터 구조를 환경 변수로 저장하는 것은 이러한 용도에 비해 다소 부적합할 수 있으므로, 사용 사례를 신중하게 고려해야 합니다.