इस पृष्ठ पर ( http://docs.nodejitsu.com/articles/getting-started/what-is-require ), यह बताता है कि "यदि आप किसी फ़ंक्शन या नई ऑब्जेक्ट में निर्यात ऑब्जेक्ट सेट करना चाहते हैं, तो आपको करना होगा मॉड्यूल .exports ऑब्जेक्ट का उपयोग करें। "
मेरा सवाल यह है कि
// right
module.exports = function () {
console.log("hello world")
}
// wrong
exports = function () {
console.log("hello world")
}
मैंने रिजल्ट ( result=require(example.js)
) को सांत्वना दी। और पहला [Function]
वाला दूसरा है {}
।
क्या आप इसके पीछे का कारण बता सकते हैं? मैं यहाँ पोस्ट पढ़ता हूँ: Node.js में मॉड्यूल बनाम निर्यात । यह सहायक है, लेकिन इसका कारण नहीं बताता है कि इसे इस तरह से क्यों बनाया गया है। यदि निर्यात का संदर्भ सीधे लौटाया जाएगा तो क्या कोई समस्या होगी?
exports
उदाहरण के लिए, github.com/tj/consolidate.js/blob/master/lib/consolidate.js के लिए उपयोग क्यों करते हैं ?
module.exports
, तो आप कभी नहीं गलत हो जाएगा, लेकिन आप उपयोग कर सकते हैं exports
यदि आप डिफ़ॉल्ट निर्यात वस्तु, कि है, अगर आप बस इस तरह के गुण देते जगह नहीं कर रहे हैं: var foo = require('foo').foo
। इस foo
संपत्ति को इस तरह निर्यात किया जा सकता है: exports.foo = ...
और निश्चित रूप से भी module.exports
। यह एक व्यक्तिगत पसंद है लेकिन मैं वर्तमान में module.exports
और exports
उचित रूप से उपयोग कर रहा हूं ।
module.exports
।