問題タブ [node-config]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 環境変数を解析する適切な方法
基本的にすべてのプロジェクトでnode-configを使用していますが、ほとんどの場合、環境変数として設定されているブール値と数値の解析の問題に遭遇します。
例えば
default.js
カスタム環境変数.js
ここで明らかな問題は、環境変数として設定されたカスタム値でデフォルト値をオーバーライドすると、それらが数値またはブール値ではなく文字列値になることです。それでは、コードで型が正しいことを確認してください。私は常に型変換を行う必要があり、ブール値の場合はynなどの適切なライブラリを使用します。config.get()
問題は、たとえば+config.get("myNumber")
orを使用するたびにこの変換を行わなければならないことですyn(config.get("myBool"))
。
これを行うためのより良い、よりエレガントな方法はありますか?
私が見る1つの解決策は、ここでフォーマットで行われるように、タイププロパティを環境変数に追加することです。これにより、このようなことが可能になります...
カスタム環境変数.js
node-config
型変換を処理するため、取得時にコード内で常に行う必要はありません。もちろん、ブール値用の適切なパーサーを実装する必要がありますが、それらは既に存在し、ここで使用できます。
node-config - node-config は常にデフォルト設定を返します
node.js/express アプリケーションを Nest.js に移動しています。アプリの構成は node-config (default.js
およびホスト固有の js ファイル) で処理されます。構成ファイルを新しいアプリケーション フォルダーにコピーし、構成モジュールをインポートして、いくつかのconfig.get()
呼び出しを使用しました。古いアプリケーションは完璧に動作しますが、nest.js では default.js からの設定しか取得しません。node-config が Nest.js で機能しない理由を知っている人はいますか?
config.get() は常に default.js から値を返します