「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 環境変数: JS 開発の非常に短い入門

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

2024 年 10 月 31 日公開
ブラウズ:904

Environment Variables: a very short intro for JS development

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

基本

  • ターミナルは、実際にはターミナル エミュレータであるアプリです
  • ターミナルを使用してシェルと対話します
  • シェルは、ノードなどの別のアプリを使用して Javascript プログラムなどの プロセスを生成できます
    • 例えば。シェル -> ノード -> Index.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 フラグの使用を選択する必要があります
リリースステートメント この記事は次の場所に転載されています: https://dev.to/charlesloder/environment-variables-a-very-short-intro-for-js-development-18j3?1 侵害がある場合は、[email protected] までご連絡ください。それを削除するには
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3