> 웹 프론트엔드 > JS 튜토리얼 > JSON에서 환경 변수로: json-to-env-converter 소개

JSON에서 환경 변수로: json-to-env-converter 소개

Barbara Streisand
풀어 주다: 2025-01-02 17:54:39
원래의
913명이 탐색했습니다.

From JSON to Environment Variables: Introducing json-to-env-converter

안녕하세요! 이것은 내 첫 번째 기사입니다(그러니 댓글로 편하게 대해주세요 ?). 개인적인 필요로 인해 제가 진행하고 있는 작은 프로젝트를 공유하게 되어 기쁩니다. Node.js 애플리케이션에서 구성을 관리하는 데 어려움을 겪은 적이 있다면 이 작은 종속성 없는 패키지가 흥미로울 것입니다. json-to-env-converter라고 합니다.

json-to-env-converter가 무엇인가요?

json-to-env-converter는 JSON 개체를 환경 변수로 변환하는 npm 패키지입니다. JSON 기반 구성을 환경 변수로 변환하고 process.env에 삽입하여 처리할 수 있도록 설계된 경량 도구입니다. 이는 구성이 동적이거나 중첩되거나 API 또는 외부 시스템에서 제공될 수 있는 시나리오를 위한 것입니다.

아이디어는 다음과 같습니다. 복잡하거나 동적 구성에 대한 환경 변수를 수동으로 설정하는 대신 프로그래밍 방식으로 JSON 개체에서 이를 로드하고 다른 환경 변수처럼 액세스할 수 있습니다.

왜 만들었을까?

저는 최근 개인적으로 작업 중인 모든 프로젝트에 대해 Secrets API를 구축했습니다. 런타임에 json 형식으로 제공되는 구성을 가져오기 위해 비밀 API를 호출합니다. 또한 최신 및 대규모 앱 구성은 사용자 위치 또는 기타 동적 요인에 따라 변경될 수 있다는 점은 말할 것도 없습니다. .env 파일은 정적 설정에 적합하지만 다음을 쉽게 처리할 수는 없습니다.

  • 중첩 구조: 중첩된 JSON을 환경 변수로 평면화하는 작업은 지루할 수 있습니다.
  • 동적 소스: 앱을 다시 시작하지 않고 런타임에 구성을 로드하는 것은 간단하지 않습니다.

이러한 문제를 해결하는 방법을 다시 한 번 탐색하기 위해 json-to-env-converter를 만들었습니다. 이는 개인적인 사용을 위한 프로젝트에 더 가깝고 확실히 dotenv와 같은 도구를 대체하기 위한 것이 아니라 약간 다른 사용 사례를 처리하기 위한 것입니다. ; 그리고 오픈소스로 만들어서 npm에 공개적으로 게시하면 어떤 해가 있을까 생각했는데, 누구든지 사용하게 된다면 정말 기쁠 것 같아요.

작동 방식

npm에서 패키지를 설치합니다.

npm i json-to-env-converter
로그인 후 복사
로그인 후 복사

다음은 그 기능을 보여주는 간단한 예입니다.

기본 예시

import { jsonToEnv } from 'json-to-env-converter';

const config = {
  database: {
    host: 'localhost',
    port: 5432,
  },
};

jsonToEnv(config);

console.log(process.env.DATABASE_HOST); //Output: 'localhost'
console.log(process.env.DATABASE_PORT); //Output: '5432'
로그인 후 복사
로그인 후 복사

이것은 JSON 개체를 가져와서 환경 변수로 변환합니다. 또한 중첩된 키를 평면화하므로 Database.host는 DATABASE_HOST가 됩니다.

접두사 추가

충돌을 방지하려면 접두사를 추가하세요.

jsonToEnv(config, { prefix: 'MYAPP_' });

console.log(process.env.MYAPP_DATABASE_HOST); //Output: 'localhost'
로그인 후 복사

사용 사례: 동적 구성

이 패키지의 잠재적인 사용 사례 중 하나는 동적 구성을 처리하는 것입니다. 예를 들어 런타임에 지역별 설정을 가져오는 전역 애플리케이션이 있다고 가정해 보겠습니다. 각 지역의 .env 파일을 수동으로 관리하는 대신 사용자의 위치에 따라 올바른 설정을 동적으로 로드할 수 있습니다.

npm i json-to-env-converter
로그인 후 복사
로그인 후 복사

이렇게 하면 앱을 다시 시작하거나 값을 하드코딩하지 않고도 구성을 조정할 수 있습니다.

꼭 사용해야 할까요?

솔직히 이 패키지가 얼마나 광범위하게 유용할지 아직 고민 중입니다. .env 파일과 정적 구성에 이미 익숙하다면 이 도구가 필요하지 않을 수도 있습니다. 하지만 다음과 같이 작업하는 경우:

  • 런타임 시 구성이 변경되는 동적 환경
  • 플랫 환경 변수로 변환해야 하는 중첩된 JSON 개체
  • API 또는 외부 서비스에서 제공되는 프로그래밍 방식 구성 설정

현재 설정이 마음에 들지 않으면 json-to-env-converter를 사용하면 시간을 절약하고 시도해 볼 가치가 있습니다.

설치 및 피드백

한 번 사용해 보고 싶으시다면 npm에서 설치할 수 있습니다.

import { jsonToEnv } from 'json-to-env-converter';

const config = {
  database: {
    host: 'localhost',
    port: 5432,
  },
};

jsonToEnv(config);

console.log(process.env.DATABASE_HOST); //Output: 'localhost'
console.log(process.env.DATABASE_PORT); //Output: '5432'
로그인 후 복사
로그인 후 복사

저는 여러분의 생각, 피드백 또는 개선을 위한 가장 중요한 제안을 듣고 싶습니다. 여기 댓글에 자유롭게 언급하거나 제 github 저장소 https://github.com/neenus/json-to에 끌어오기 요청을 제출하세요. -env. 이것은 나에게 학습 경험이며, 그것이 어디로 갈지 기대됩니다.

아 그리고 한 가지 더... 제 첫 글을 읽어주셔서 감사합니다!

위 내용은 JSON에서 환경 변수로: json-to-env-converter 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿