2013-08-27 5 views
11

Node.jsに設定ファイルを作成する方法は複数あります。 1つはjsファイル内のmodule.exportsを使用し、1つは単純なjsonオブジェクトを使用します。Module.exportsと設定ファイルのプレーンjson

// config1.js 
module.exports = { 
    config_1: "value 1", 
    config_2: "value 2" 
} 

// config2.json 
{ 
    config_1: "value 1", 
    config_2: "value 2" 
} 

設定ファイルでmodule.exportsを使用することの利点はありますか?違いは何ですか?

おかげでジョナサン・オング@

+1

唯一の実際の違いは、jsonファイルにコメントを追加できないことです。コメント付きのjsonファイルが必要な場合は、rcファイルの使用に興味があるかもしれません。 –

+0

ありがとうございましたJonathan、私はmodule.exportsが* .jsファイルでのみ有効で、jsonオブジェクトでは* .jsonファイルでのみ有効であることに気付きました。 * .jsファイルにmodule.exportsを使ってコメントを付けることができました。 –

+0

もう1つの重要な点は、実際の.jsonファイルの構文がより厳密であることです。例えば、キーを二重引用符で囲む必要があります。アイテムの配列の末尾にカンマを付けることはできません。 –

答えて

19

javascriptのCommonJSモジュール

  • コメント
  • 条件文
  • ループとNODE_ENVまたは外部を探すために同様の
  • コードに基づいて設定を変更するには、このようなデフォルト
  • を移入するためのコードSSLキー、API資格情報などのファイル
  • フォールバックし、デフォルトそこにほとんどすべてのプログラミング言語との互換性

JSONファイル

    外部ツールで解析しやすいと更新
  • にロードすることができ、純粋なデータを持っていることが容易に実行しないで
  • 簡単に印刷する
  • JSONは基本とすべてのコードで開始することができますEMSは、だから私はいつも便宜上commonjsモジュールで始めるポイントに

を始めているようconfig.jsonを読み込みconfig.jsのモジュールに住んでいるが、そこにシンプルで任意のロジックを保つことができる程度CommonJSモジュール上で説明しました。 config.jsにバグがあり、テストが必要な場合は、おそらく複雑すぎます。キッス。私の設定で他のものが欲しいという事実が分かっていれば、私はJSONファイルを使用します。

+0

@peterに感謝します。私はCommonJSモジュールを試してみます。 –

7

おかげで、期待して、私はいくつかのコメントを置くことができるように機能config.jsの(はありませんJSONファイル)のように見えます。

module.exports = { 

    // Development Environment 

    development: { 
    database: { 
     host: '127.0.0.1', 
     login: 'dev', 
     password: 'dev' 
    } 
    }, 

    // Production Environment 

    production: { 
    database: { 
     host: '127.0.0.1', 
     login: 'prod', 
     password: 'prod' 
    } 
    } 
}; 
+0

このサンプルをここに入れてください:) – VilleKoo

0

jsファイルには、@Peter Lyonsが述べたように独自の特典があります。しかし、APIキーなどの外部リソースにアクセスする必要がない場合は、JSONの設定ファイルが好きです。

単純な理由設定ファイルを変更するために私のコードに触れる必要はありません。これらのJSONファイルを編集して設定キーと値のペアを追加、更新、または削除するためのAPIを作成するだけです。 APIを使用して別の環境用に全く新しい設定ファイルを追加することもできます。

これらの設定を消費するためにconfigモジュールを使用してください。

関連する問題