1. ホーム
  2. node.js

[解決済み] Node.jsのデプロイメント設定/構成ファイルを保存する方法は?

2022-03-14 21:02:38

質問

私はいくつかのNodeアプリに取り組んでおり、デプロイ関連の設定を保存するための良いパターンを探していました。Django の世界では (私がいたところでは)、一般的なプラクティスは settings.py ファイルには標準的な設定 (タイムゾーンなど) が含まれ、その後に local_settings.py どのデータベースと通信するか、どのmemcacheソケットを使うか、管理者の電子メールアドレスなどです。

Nodeでも同じようなパターンを探していました。設定ファイルだけで良いので、他のすべてのものと一緒に app.js しかし、ソース管理されていないファイルに、サーバー固有の設定をする方法が重要だと思います。同じアプリを異なるサーバで全く異なる設定でデプロイすることは十分に可能であり、マージの衝突などに対処しなければならないのは、私の考えとは異なるものです。

このためのフレームワークやツールはあるのでしょうか、それともみんな自分で何かをハックしているのでしょうか?

どのように解決するのですか?

ずっと後になって、設定を管理するためのかなり良い Node.js モジュールを見つけました。 nconf .

簡単な例です。

var nconf = require('nconf');

// First consider commandline arguments and environment variables, respectively.
nconf.argv().env();

// Then load configuration from a designated file.
nconf.file({ file: 'config.json' });

// Provide default values for settings not provided above.
nconf.defaults({
    'http': {
        'port': 1337
    }
});

// Once this is in place, you can just use nconf.get to get your settings.
// So this would configure `myApp` to listen on port 1337 if the port
// has not been overridden by any of the three configuration inputs
// mentioned above.
myApp.listen(nconf.get('http:port'));

また、設定を レディス また、Node.js の有名なショップの 1 つによってサポートされています。 ノードジツ の一部として フラットアイアン フレームワークのイニシアチブをとっているので、かなり将来性があるはずです。

チェックアウト Githubでのnconf .