2016-12-17 13 views
0

私は非常にノードで新しく、ベストプラクティスを学んだり、チャットボットを作成したり、多くの機能や変数を再利用して意味を成し遂げています(少なくとも私は同じことを何度も何度も書き直すことを避けるためにグローバルを使うべきです)。Node.jsグローバル!

グローバルの問題のいくつかを回避するために、すべてのグローバルを含む... globals.jsというファイルを作成しました。これらのファイルはすべて一括して間違っている可能性が低いです。

//globals.js 
const Settings = require('./settings.js) // DB Model 

... 

// A few variables 
global.foo = bar; 
... 
// I expect to have about 10-20 functions 
global.baz = function(foo,bar) { 
... 
} 

// Prepare and Load Settings 
Settings.find(
    function(err, result) { 
     if (err) { 
      console.log('Unable to load settings: ' + err); 
      process.exit(1); 
     } else { 
      for (let key in result[0].toObject()) { 
       // All settings will be available globbaly 
       global[key] = result[0][key]; 
      } 
     } 
    } 
); 

これらの設定が異なるファイルは、それらのほとんどを使用すると、プロジェクト全体に利用できるようにする必要があり、私は50以上の構成可能な設定を持っていることを期待し、それは少なくとも50のグローバルです。これは悪い考えです。代わりに、グローバルとしてロードするのではなく、それらを使用する各ファイルの設定をロードするだけですか?

このような多くのグローバルを持つことがパフォーマンスに大きな影響を及ぼしているのですが、私が試みていることを達成するためのより良い方法がありますか?

これを読んでいただきありがとうございます、ご意見ありがとうございます。

答えて

3

すべての定数を1つのファイルに保存して、グローバルと同じ結果を得ることができます。さらに、これらの定数が他の場所で漏洩しないようにすることもできます。

const constants = require('./constants.js) 
let neededHere = constants.VALUE1 
:そのが必要な他のどこでも

module.exports = { 
    VALUE1: 1, 
    VALUE2: 2 //etc 
} 

、あなたはこのファイルが必要になります。

定数ちょうど標準のファイル可能性があり、constants.jsが言うことができます

関連する問題