[解決済み] Node.jsでeveryauthで使用する環境固有の設定をする
2022-07-26 23:01:18
質問
node.js + express.js + everyauth.jsを使用しています。私はすべてのeveryauthのロジックをモジュールファイルに移動しました。
var login = require('./lib/everyauthLogin');
この中に、キーとシークレットの組み合わせでoAuth設定ファイルをロードします。
var conf = require('./conf');
.....
twitter: {
consumerKey: 'ABC',
consumerSecret: '123'
}
これらのコードは、コールバックが異なるURLにあるため、開発/ステージング/本番という異なる環境ごとに異なっています。
質問です。 どのように私はすべてのモジュールを介してフィルタリングするために環境設定でこれらを設定するのですか、私はモジュールに直接パスを渡すことができますか?
環境設定に設定する。
app.configure('development', function(){
app.set('configPath', './confLocal');
});
app.configure('production', function(){
app.set('configPath', './confProduction');
});
var conf = require(app.get('configPath'));
パス入力
app.configure('production', function(){
var login = require('./lib/everyauthLogin', {configPath: './confProduction'});
});
理解できたでしょうか?
どのように解決するのですか?
私の解決策です。
を使用してアプリをロードします。
NODE_ENV=production node app.js
次に設定
config.js
をオブジェクトではなく、関数として設定します。
module.exports = function(){
switch(process.env.NODE_ENV){
case 'development':
return {dev setting};
case 'production':
return {prod settings};
default:
return {error or other settings};
}
};
次に、Jans のソリューションに従って、ファイルを読み込んで新しいインスタンスを作成し、必要に応じて値を渡します。
process.env.NODE_ENV
はグローバルなので必要ありません。
var Config = require('./conf'),
conf = new Config();
そして、前と全く同じように設定オブジェクトのプロパティにアクセスすることができます。
conf.twitter.consumerKey
関連
-
[解決済み】MongoClient v3.0使用時、db.collectionは関数ではない
-
[解決済み】Mongooseで配列の値を更新する方法
-
[解決済み】POSTできない/expressを使用するとエラーが発生する
-
[解決済み] Node.jsで「btoaが定義されていない」エラーが発生する
-
[解決済み] ランタイム 'node' が PATH で見つからない - Visual Studio Code と Node.js
-
[解決済み] エラー: ノード出力を "|head" にパイプするときに EPIPE を書き込む。
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] Node.jsで現在のスクリプトのパスを取得するにはどうしたらいいですか?
-
[解決済み] 取得するNodeの環境変数を設定する
-
[解決済み] Bashでコマンドの前に環境変数を設定すると、パイプ内の2番目のコマンドで動作しない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リソースの読み込みに失敗しました: net::ERR_CONNECTION_REFUSED : Nodejs
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み】E11000重複キーエラー mongodb mongooseのインデックス
-
[解決済み】POSTできない/expressを使用するとエラーが発生する
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] Passport JSのreq.isAuthenticated()はどのように実装されていますか?[クローズド]
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] MongoNetworkError: 最初の接続でサーバー [localhost:27017] への接続に失敗 [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017] 。
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] 取得するNodeの環境変数を設定する