問題タブ [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.

0 投票する
2 に答える
9201 参照

node.js - 環境変数を解析する適切な方法

基本的にすべてのプロジェクトでnode-configを使用していますが、ほとんどの場合、環境変数として設定されているブール値と数値の解析の問題に遭遇します。

例えば

default.js

カスタム環境変数.js

ここで明らかな問題は、環境変数として設定されたカスタム値でデフォルト値をオーバーライドすると、それらが数値またはブール値ではなく文字列値になることです。それでは、コードで型が正しいことを確認してください。私は常に型変換を行う必要があり、ブール値の場合はynなどの適切なライブラリを使用します。config.get()問題は、たとえば+config.get("myNumber")orを使用するたびにこの変換を行わなければならないことですyn(config.get("myBool"))

これを行うためのより良い、よりエレガントな方法はありますか?

私が見る1つの解決策は、ここでフォーマットで行われるように、タイププロパティを環境変数に追加することです。これにより、このようなことが可能になります...

カスタム環境変数.js

node-config型変換を処理するため、取得時にコード内で常に行う必要はありません。もちろん、ブール値用の適切なパーサーを実装する必要がありますが、それらは既に存在し、ここで使用できます。

0 投票する
1 に答える
170 参照

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 から値を返します