2012-05-20 16 views
6

में सभी ऑब्जेक्ट्स निर्यात करें मेरा एक node.js मॉड्यूल बहुत बड़ा हो गया है, इसलिए मैंने इसे कई छोटे (उप) मॉड्यूल में विभाजित किया।node.js

मैं कॉपी स्पष्ट रूप से कहने के लिए exports.SOME_CONSTANT = SOME_CONSTANT एक लाख गुना बिना &, submodules में से प्रत्येक में सभी प्रासंगिक वस्तुओं, जो अब की तरह

var SOME_CONSTANT = 10; 

function my_func() { etc... }; 

अब मैं प्रत्येक submodule, सामूहिक रूप से सब कुछ निर्यात करना चाहते हैं देखने के लिए चिपकाया (मुझे लगता है कि दोनों बदसूरत और त्रुटि प्रवण)।

इसे प्राप्त करने का सबसे अच्छा तरीका क्या है?

उत्तर

0
module.exports = { 
    SOME_CONSTANT_0 : SOME_CONSTANT_1 , 
    SOME_CONSTANT_1 : SOME_CONSTANT_2 , 
    SOME_CONSTANT_2 : SOME_CONSTANT_3 
} 

तो आपको निर्यात के लिए "मिलियन" निरंतर आवश्यकता क्यों है?

+0

क्योंकि बदलने के लिए अपने पसंदीदा संपादक में ऐसा मैक्रो बना यह डुप्लिकेट कोड (DRY, त्रुटियों को आमंत्रित करना), प्लस बदसूरत है। मैं एक स्वचालित समाधान पसंद करूंगा जिसे मैं प्रत्येक सबमिशन में कॉपी और पेस्ट कर सकता हूं। – user124114

+0

मुझे लगता है कि आपको अपने कोड को पुनर्निर्माण करने के लिए कुछ चाल की आवश्यकता है, उदा। प्रतिस्थापित करें = से: और; सेवा मेरे , –

1

मुझे लगता है कि आप हर स्थानीय चर निर्यात नहीं करना चाहते हैं।

मैं इन दिनों में से किसी एक को स्वचालित करने के लिए चारों ओर मिल जाएगा, लेकिन अब मैं अक्सर इस तकनीक का उपयोग करता हूं।

var x1 = { shouldExport: true } ; 

// खोज और इतना है कि

x1.name = value ; // instead of var name = value 

और

name becomes x1.name 

// मॉड्यूल के मुख्य शरीर

for (var i in x1) { exports.better_longer_name[i] = x1[i] ;} 
//or if you want to add all directly to the export scope 
for (var i in x1) { exports[i] = x1[i] ; }