環境変数: JS 開発の非常に短い入門

WBOY
リリース: 2024-09-06 11:01:30
オリジナル
1090 人が閲覧しました

Environment Variables: a very short intro for JS development

この記事は、私自身のための環境変数についての短い調査を目的としているため、簡潔なスタイルになっています

基本

  • ターミナルは、実際にはターミナル エミュレータであるアプリです。
  • ターミナルを使用して シェル と対話します
  • シェルは、ノードなどの別のアプリを使用して Javascript プログラムなどの プロセス を生成できます。
    • 例:シェル ->ノード ->インデックス.js
  • ターミナルを開くと、シェルに新しい セッション が作成されます
  • このセッションには、関連付けることができる変数があります (例: echo $USER は現在のユーザーの名前を出力します)

ノード

ノードでは、環境変数はグローバル process.env 経由でアクセスされます

console.log(process.env.USER); // username
ログイン後にコピー
  • アプリケーションは通常、環境変数を介してシークレットまたは構成関連データにアクセスします。
    • 例:プロセス.env.DB_CONNECTION
    • これは、秘密を秘密にしておく必要があり、すべてのユーザーが同じ設定ニーズを持っているわけではないため、これが役に立ちます。これにより、ロジックと設定をより適切に分離できます。

変数をロードするメソッド

これらの変数をプログラムで使用できるようにする方法はいくつかあります。

(1) コマンドラインから利用できるようにします。

非常に簡単です。コマンドラインで変数を指定してコマンドを呼び出すだけです。

DB_CONNECTION="postgresql://username:password@host:port/database_name" node index.js
ログイン後にコピー

(2) .env ファイルに保存する

.env ファイルは、等号で区切られた KEYSVALUES で構成されます。

DB_CONNECTION="postgresql://username:password@host:port/database_name"
ログイン後にコピー

これらのファイルは共通であり、アプリケーションで使用できるようにする方法がいくつかあります。

ディレンブ

ファイルから変数をロードしてシェルで使用できるようにする direnv のようなツールを使用します。これは通常、グローバルにインストールされます。

デフォルトでは、direnv は .envrc ファイルを検索しますが、.env も使用できます。そのように構成するには、ここを参照してください。

ドテンフ

ファイルから変数をロードし、process.env で使用できるようにする dotenv のようなツールを使用します。

ディレンvsドテンブ

それぞれの方法には長所と短所があります。

direnv を使用すると言語に依存せず、依存関係が 1 つ減りますが、direnv を使用しない場合、アプリケーションのコンシューマーが独自の方法で環境変数をロードする必要があることも意味します;

dotenv を使用すると、アプリケーションの利用者は安心して .env ファイルを使用できますが、シェルがネイティブに実行できることを実行するためだけにパッケージが追加されます。

ノードフラグ

ノードには最近、.env ファイルを直接使用するためのサポート (v20.6.0) が追加されました。

フラグを使用する必要があります

node --env-file=.env index.js
ログイン後にコピー

dotenv と同様に、これにより .env のコンテンツが process.env で利用可能になります。

まとめ

  • 環境変数はシェルにネイティブなテクノロジーです
  • それらをロードするには、直接、direnv、dotenv、node など、いくつかの方法があります
  • direnv はシェルに変数をロードしますが、dotenv と node は process.env 経由でのみ変数をアプリケーションで使用できるようにします。
  • ノードを使用する場合は、おそらく新しい --env-file フラグの使用を選択する必要があります

以上が環境変数: JS 開発の非常に短い入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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