안녕하세요! 이것은 내 첫 번째 기사입니다(그러니 댓글로 편하게 대해주세요 ?). 개인적인 필요로 인해 제가 진행하고 있는 작은 프로젝트를 공유하게 되어 기쁩니다. 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-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-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 중국어 웹사이트의 기타 관련 기사를 참조하세요!