मेरे पास मॉड्यूल कैशिंग पर नोड.जेएस प्रलेखन से संबंधित एक प्रश्न है :
पहली बार लोड किए जाने के बाद मॉड्यूल को कैश किया जाता है। इसका मतलब है (अन्य चीजों के बीच) कि आवश्यकता के लिए हर कॉल ('फू') को उसी वस्तु को वापस मिलेगा , यदि वह उसी फ़ाइल को हल करेगी।
आवश्यकता के लिए कई कॉल ('फू') मॉड्यूल कोड को कई बार निष्पादित करने का कारण नहीं हो सकता है। यह एक महत्वपूर्ण विशेषता है। इसके साथ, "आंशिक रूप से किया गया" वस्तुओं को वापस किया जा सकता है, इस प्रकार सकर्मक निर्भरता को तब भी लोड करने की अनुमति मिलती है जब वे चक्र का कारण बनेंगे।
क्या मतलब है may
?
मैं जानना चाहता हूं कि क्या आवश्यकता हमेशा उसी वस्तु को वापस करेगी । तो मामले में मैं एक मॉड्यूल की आवश्यकता होती है एक में app.js
और भीतर निर्यात वस्तु को बदलने app.js
(एक है कि रिटर्न की आवश्यकता होती है) और उसके बाद एक मॉड्यूल की आवश्यकता बी में app.js
है जो अपने आप मॉड्यूल की आवश्यकता है एक , तो मैं लूंगा हमेशा उस वस्तु की संशोधित संस्करण, या एक नया मिलता है एक?
// app.js
var a = require('./a');
a.b = 2;
console.log(a.b); //2
var b = require('./b');
console.log(b.b); //2
// a.js
exports.a = 1;
// b.js
module.exports = require('./a');