2016-07-03 10 views
-2

var x = require('x.js')には可能ですし、後でxを使って素敵なものにアクセスしてください。Node.jsは変数の代わりに配列に `を入れる`

var xs = [require('a.js'), require('b.js')] 

、その後xs[0].featurexs[1].featureとしてエクスポート機能にアクセスしますように必要なものの配列を、構築するための最も近い方法は何ですか?

+0

試しましたか? – JordanHendrix

+0

@JordanHendrixはい、動作しません。だから、私はそれに近い類似の方法を求めています。 – alisianoi

+1

@JordanHendrix大丈夫、30分後に私は間違いを犯したに違いないと思うし、本当に物事の配列を要求することは本当に可能である。 – alisianoi

答えて

1

これを行うには非常に正当な理由がない限り、おそらく避けるべきです。しかし、それは非常に簡単にArray.prototype.map()を使用して行うことができます。

var xs = ['foo.js', 'bar.js', 'baz.js'].map(require); 
1

はおそらく、あなたがこのような何かを行うことができます。

var x = []; 
var requiredLibraries = ['a.js', 'b.js', 'c.js']; 

requiredLibraries.forEach(function(element, index, array) { 
    x.push(require(element)); 
}); 

EDIT私は混乱のそれは持参し、コードの可読性を下げる可能性があるため、これは、良いアイデアだとは思わないことに注意してください、他に何もないならば。

+1

それぞれに1つの機能を提供する複数のファイルがあるとします。そして、それらの機能の1つを選択する設定があります。私の意見では、関数の配列(またはMap)を構築し、与えられたオプションでインデックスを作成するのが理にかなっています。だから、私はそれが可読性を損なうとは思わない。 – alisianoi

+0

まあ、その場合、私はそれが理にかなっているだろうと思うが、うまくいけば、あなたが6ヶ月後にそこで何をしたのか再び覚えているだろう。 – pzelenovic

関連する問題