ホームページ > ウェブフロントエンド > 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 に挿入することで、JSON ベースの構成を処理できるように設計された軽量ツールです。これは、構成が動的、ネストされている、または API または外部システムから供給されるシナリオを対象としています。

アイデアは次のとおりです。複雑な構成や動的な構成の環境変数を手動で設定する代わりに、JSON オブジェクトからプログラムで環境変数をロードし、他の環境変数と同じようにアクセスできます。

なぜそれを構築したのか?

私は最近、個人的に取り組んでいるすべてのプロジェクト用にシークレット API を構築しました。私はシークレット API を呼び出して、実行時に JSON 形式で提供される構成を取得しています。また、言うまでもなく、最新のアプリや大規模なアプリでは、ユーザーの場所やその他の動的要因に応じて構成が変更される可能性があります。 .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'
ログイン後にコピー

使用例: 動的構成

このパッケージの潜在的な使用例の 1 つは、動的構成の処理です。たとえば、実行時に地域固有の設定を取得するグローバル アプリケーションがあると想像してください。各地域の .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 でプル リクエストを送信してください。 -環境これは私にとって学習経験であり、今後の展開が楽しみです。

ああ、もう 1 つ...私の最初の記事を読んでいただきありがとうございます!

以上がJSON から環境変数へ: json-to-env-converter の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート