इतिहास का पहला इतिहास, हमारे पास एक इंजन है जो कई जावास्क्रिप्ट फ़ाइलों से बना है जो अनिवार्य रूप से मॉड्यूल हैं। ये मॉड्यूल वैश्विक स्तर पर असाइन किए गए एक वर्ग को लौटाते हैं, हालांकि निर्दिष्ट नामस्थान के तहत।एएमडी के साथ परिभाषित जावास्क्रिप्ट मॉड्यूल कैसे बढ़ाया जा सकता है?
इंजन का उपयोग ई-लर्निंग सामग्री को प्रदर्शित करने के लिए किया जाता है, प्रत्येक अलग-अलग ई-लर्निंग कोर्स के साथ थोड़ा अलग ज़रूरत होती है, जहां हम आवश्यक कार्यक्षमता के आधार पर पृष्ठ में जावास्क्रिप्ट फ़ाइलों को शामिल करते हैं। (केवल एक प्रविष्टि पृष्ठ है)।
अगर मैं एएमडी, require.js और r.js में बदलना लायक हूं या हमारे वर्तमान सिस्टम के साथ रहना बेहतर है, तो पेज पर आवश्यक सब कुछ शामिल है और इसे एक स्क्रिप्ट में कम करता है।
एएमडी जाने के साथ मेरी सबसे बड़ी समस्याओं में से एक यह होगा कि कक्षा आसानी से विस्तार करना मुश्किल लगता है। उदाहरण के लिए, कभी-कभी हमें मूल वर्ग के व्यवहार को थोड़ा समायोजित करना होता है। इसलिए हम उस पृष्ठ पर एक और स्क्रिप्ट जोड़ते हैं जो मूल प्रोटोटाइप की प्रतिलिपि बनाकर मूल वर्ग को बढ़ाता है, मूल फ़ंक्शन निष्पादित करता है जिसे लागू करने के साथ ओवरराइड किया जा रहा है और फिर जो अतिरिक्त कोड आवश्यक है, उसे करें।
क्या आप मूल फ़ाइल को अनुकूलित किए बिना एएमडी मॉड्यूल का विस्तार कर सकते हैं? या क्या मैं इस बिंदु को याद कर रहा हूं और हम इस समय क्या कर रहे हैं उसके साथ हम सबसे अच्छे रह रहे हैं?
हाय जोसेफ, आपकी प्रतिक्रिया के लिए धन्यवाद लेकिन यह सवाल नहीं है कि मैं पूछ रहा था। आप मूल निर्माता के उदाहरण बना रहे हैं।मैं 'इंजन' कहने की परिभाषा चाहता हूं, जिसका उपयोग किसी अन्य आइटम की परिभाषा में किया जाता है, आइए 'कंटेंटस्क्रीन' कहें। हालांकि 'इंजन' की परिभाषा और 'सामग्रीस्क्रीन' के निर्माण के बीच मैं थोड़ा 'इंजन' का विस्तार करना चाहता हूं। –
@John_ आप "थोड़ा विस्तार" से क्या मतलब है? एक संशोधित कन्स्ट्रक्टर का निर्माण और फिर उस संशोधित कन्स्ट्रक्टर का उपयोग करें? [यह मदद कर सकता है] (http://stackoverflow.com/a/10101604/575527) – Joseph
अनिवार्य रूप से हां, मैं मूल रूप से विस्तारित एक नई कक्षा नहीं बनाना चाहता, मैं वास्तव में मूल का विस्तार करना चाहता हूं और इसका उपयोग करना चाहता हूं, क्योंकि जहां तक बाकी सब कुछ चिंतित है, यह अभी भी एक ही कक्षा है। जहां तक मैं कह सकता हूं कि मैं एएमडी के साथ ऐसा नहीं कर सकता? –