2017-09-23 4 views
0

他のいくつかのファイルで必要となる外部モジュールで定義された変数にアクセスするためのベストプラクティスを理解したいと思います。NodeJSで変数にアクセスする方法

は、我々は2つの以下のファイルがあると、私は私が持っている場合は、さらに一歩これを撮影consume.js

//central.js 
module.exports = { 
    common: function() { 
     var h = "hello"; 
     var b = "enabled" 
    } 
}; 

//consume.js 

var g = require('./central'); 
//get the value of variable h from central.js 

h変数の値にアクセスしたいと思いますconsume.jsの後にfetch.jsget.jsのファイルがあり、すべてcentral.jsをインポートし、共通の変数セットをcentral.jsから取得する必要がありますこれらの一般的な変数をcentral.jsの中に入れて、従属ファイルがそれらを消費できるようにしますか?

ありがとうございます!

+0

表示されている通りにすることはできません。 'var h'は実行中に' common'関数に対してプライベートです。外部から(同じモジュール内からでも)その関数の中に到達して 'h 'に到達する方法はありません。実際、 'common()'が実行されていないとき、 'h'のインスタンスさえありません。さて、あなたは 'common()'を 'h'を返し、どこからでも' g.common() 'を呼び出して関数の戻り値を得ることができます。 – jfriend00

+0

あるモジュールから別のモジュールへの共有方法の一般的な答えは、関数やオブジェクト、プロパティ、そしてそのモジュール内の他のモジュール 'require()'をエクスポートして、モジュールがエクスポートしたものにアクセスできるようにすることです。これはnode.jsのかなり基本的なモジュールロジックなので、node.jsモジュールからのエクスポートの仕組みを読んでから、さらに具体的な質問をすることをお勧めします。 – jfriend00

答えて

1

輸出:

// central.js 
module.exports = { 
    h: "hello", 
    b: "enabled" 
} 

インポート:

// consume.js 
const { h, b } = require('./central') 

または代わり:

// get.js 
const central = require('./central') 
// central.h 
// central.b 

・ホープ、このことができます!

関連する問題