असल में, विचार यह है कि "उप" मॉड्यूल एक ऑब्जेक्ट बनाता है, और वह ऑब्जेक्ट एक यूटिलिटी लाइब्रेरी का हिस्सा होना चाहिए जो "मुख्य" मॉड्यूल है। हालांकि, "उप" वस्तु "मुख्य" से उपयोगिताओं पर निर्भर करता है:Requ.js में परिपत्र निर्भरता को कैसे हल करें?
// Main module
define(['sub'], function(sub) {
var utils = {
utilityMain: function() {
// ...
};
// ...
};
tools.subModule = sub;
return tools;
});
// Sub module
define(['main'], function(main) {
return new (function() {
// Singleton object using functions in main module
var somestuff = function() {
main.utilityMain();
// etc
};
})();
});
मैं कैसे एक ब्लैक होल है कि पूरे ग्रह को निगल जाएगा बनाए बिना require.js साथ इस लक्ष्य को हासिल कर सकते हैं?
बहुत बहुत धन्यवाद।
"डिज़ाइन पर पुनर्विचार करें", मैं पूरी तरह से सहमत हूं लेकिन इस समय इसके लिए थोड़ा कड़ा है। मैंने पहले से ही शोध किया है और आप जो प्रस्तावित कर रहे हैं उसमें देखा है ... मैं पिछले दो दिनों से 'निर्यात' ऑब्जेक्ट के आस-पास अपना सिर लपेटने की कोशिश कर रहा हूं, और अब आप मुझे बता रहे हैं कि यह उपलब्ध है * तुरंत *? मैंने सोचा कि फैक्ट्री फ़ंक्शन निष्पादन को फिर से शुरू करने के बाद ही 'निर्यात' को 'परिभाषित' /' आवश्यकता 'पर वापस कर दिया जाएगा? एक दूसरे रूप में, ऐसा लगता है कि आप सुझाव दे रहे हैं कि 'मुख्य' फिर से शुरू होने के बाद 'मुख्य' को निष्पादन फिर से शुरू करना चाहिए? – pilau
मैं वास्तव में इसकी सराहना करता हूं अगर आप वास्तव में आदेश दे सकते हैं जिसमें ये सब कुछ होता है। मुझे लगता है कि यह वह जगह है जहां मैं समझने में असफल रहा कि यह कामकाज मेरी समस्या को हल करता है। धन्यवाद! – pilau
'निर्यात' का उपयोग करके प्रत्येक मॉड्यूल को प्रत्येक मॉड्यूल के लिए 'अपरिभाषित' के बजाय कुछ ऑब्जेक्ट का संदर्भ देने की अनुमति देता है। आप या तो मॉड्यूल के _functions_ का उपयोग नहीं कर सकते हैं, लेकिन आप यह सुनिश्चित कर सकते हैं कि संदर्भ रनटाइम पर ठीक से सेट किए जाएंगे। समांतर में चल रही मॉड्यूल परिभाषाओं दोनों के बारे में सोचें। वे दोनों जानते हैं कि अन्य मॉड्यूल के लिए _look_ कहां है, लेकिन जब तक वे दोनों पूर्ण नहीं होते हैं तब तक न तो बातचीत कर सकते हैं। – freejosh