さまざまな環境ステージ用にNode.js.envファイルをカスタマイズする方法

アプリのさまざまな開発段階でカスタム環境変数が必要な状況に陥ったことがありますか?これが1行のソリューションです。

.envファイルの発明以来、開発ははるかに簡単になりました。構文ENV_VARIABLE=VALUEとブームを使用して、環境変数と値を簡単に設定できます。これらの変数は環境変数として読み込まれ、次のようにすばやくアクセスできるようになりました。

console.log(process.env.ENV_VARIABLE)

これが何を意味するのかまだ疑問に思っている場合は、おそらく.envファイルに不慣れです。これは実際には、アプリケーションの環境に渡すいくつかの変数を定義するために使用される単純な構成テキストファイルです。

このファイルを機能させるには、パーサーのようなものが必要です。パーサーは変数定義を1つずつ読み取り、それらを環境に解析します。ENV_VARIABLE = VALUEの形式を使用します(Node.jsの場合:)process.env[ENV_VARIABLE]=VALUE

もちろん、これはNode.jsに組み込まれている機能ではありません。dotenvと呼ばれる人気のあるモジュールでそれを設計する必要があります。

これは、共同開発者間および開発コミュニティ全体での開発を実際に容易にするため、優れた回避策です。特定の環境で別の構成ファイルを使用できるようにするソリューションを取得しようとして立ち往生するまで、私は個人的にdotenvモジュールを使用していました。それはもっと涼しいでしょう…そうですか?はい!しかし残念ながら、dotenvモジュールは私たちにこのグッズを提供しません。

では、次は何ですか?さまざまな開発段階で開発とテストを容易にするために、このことが必要です。

さまざまな環境ステージ用のカスタム.envファイルはどうですか?

それが良い解決策になると思いませんか?.env.envnameファイルを作成するだけでカスタム環境変数を定義しますか?涼しい!それがcustom-envが行うようになったものです。

カスタムenvは、さまざまな環境で複数の.env構成を可能にすることにより、開発を容易にするために構築されたライブラリです。これは、環境変数を.env.envnameファイルからノードのprocess.envオブジェクトにロードすることによって行われます。

インストール

次のコマンドでそれをつかむだけです:

npm i custom-env

使用法

require('custom-env').env()

デフォルトでは、custom-envは開発ステージ用の.envファイルを選択します。ただし、別の段階に合わせてカスタマイズするには、.env.envnameのように名前をサフィックスとして追加します。

ステージング開発用のカスタム環境変数を定義できます

  • .env.stagingファイルを作成します
  • 変数を定義する
APP_ENV=staging APP_NAME=custom environment app DB_HOST=localhost DB_USER=user DB_PASS=pass
  • 変数にアクセスする
// Require custom-env and set your preferred env file require ('custom-env').env('staging') console.log(process.env.APP_ENV) console.log(process.env.APP_NAME) console.log(process.env.DB_HOST) console.log(process.env.DB_PASS)

期待される出力

staging custom environment app localhost user pass

それだけです、とても簡単です。次のように、さまざまな段階で変数を自由に定義してください。

.env.testing、.env.staging、.env.server1、.env.server2、.env.localhost

現在の環境に設定

trueを渡すことで、現在の開発段階に一致する構成を使用するようにcustom-envに指示できます。env()方法。

ファイル:index.js

// Pass true to env() to make it use the current environment stage. require('custom-env').env(true) console.log(process.env.APP_NAME) console.log(process.env.USERNAME) console.log(process.env.PASSKEY)

次に、ステージング構成ファイルを定義しましょう。

ファイル:.env.staging

APP_NAME=Staging Node App USER_NAME=John PASSKEY=J*h*

それでは、ステージング環境でノードにサービスを提供しましょう。

NODE_ENV=staging node index.js

期待される出力

どうぞ!

完全なドキュメント

custom-envの完全なドキュメントについては、npmページアクセスしてください。//www.npmjs.com/package/custom-env

ソースコード

カスタム環境を取得または提供できます//github.com/erisanolasheni/custom-envのソースコード

ハッピーコーディング!