कई जावास्क्रिप्ट फ़ाइलें, में फ़ोल्डर स्क्रिप्ट/फ़ोल्डर 1, स्क्रिप्ट/folder2 का आयोजन कर रहे हैं, ...सापेक्ष टाइपप्रति और एएमडी
requirejs.config.baseUrl के साथ एक फ़ोल्डर डिफ़ॉल्ट के रूप में परिभाषित किया गया है , उदाहरण के लिए स्क्रिप्ट/फ़ोल्डर 1। फिर requirejs.config.paths में कुछ फ़ाइलों को केवल फ़ाइल नाम से संबोधित किया जाता है, और कुछ को एक सापेक्ष पथ (जैसे ../folder2/blabla) के साथ संबोधित किया जाता है।
टाइपसिप्ट फ़ाइल फ़ोल्डर 2/blabla.ts को कोड करते समय हमें फ़ोल्डर 1 से मॉड्यूल "गणित" की आवश्यकता होती है। तो हम
import MOD1 = module("../folder1/math");
टाइपस्क्रिप्ट के संबंध में, कुछ भी ठीक है। यह मॉड्यूल पा सकते हैं। हालांकि, requjs के साथ एक समस्या है। यह मॉड्यूल "../folder1/math" नहीं जानता है, यह केवल "गणित" जानता है।
समस्या यह प्रतीत होती है कि आयात विवरण एक फ़ाइल नाम की अपेक्षा करता है, जिसे वर्तमान निर्देशिका से शुरू करके संबोधित किया जा रहा है। हालांकि, यह मॉड्यूल आईडी नहीं है जिसके लिए आवश्यक है।
आवश्यकताएं कॉन्फ़िगरेशन और टाइपस्क्रिप्ट में आयात विवरण दोनों में, कहीं भी पूर्ण पथ का उपयोग करके, समस्या हल करती है।
क्या मैं यह गलत कर रहा हूं? या जाने के रास्ते के पूर्ण पथ हैं?
मैंने पाया है कि या तो पूर्ण पथ, या पथ पहले मॉड्यूल कि js की आवश्यकता के सापेक्ष भार (आमतौर पर मेरे जेएस ऐप की जड़ - या तो स्क्रिप्ट फ़ोल्डर या डूरंडल ऐप फ़ोल्डर के साथ - लेकिन जरूरी नहीं कि मेरी वेबसाइट की जड़) काम करें। – JcFx
उत्तर के लिए बहुत बहुत धन्यवाद। यदि पहला मॉड्यूल/स्क्रिप्ट में है, तो बेसयूआरएल उस पथ पर सेट हो जाएगा। फिर यदि "फ़ोल्डर 1" से एक मॉड्यूल का उपयोग किया जाता है, तो requjs के संबंध में इसे "folder1/blabla" जैसे संबोधित किया जाना चाहिए। फिर आप टाइपस्क्रिप्ट स्टेटमेंट में क्या लिखेंगे? क्या आप मॉड्यूल लिखते हैं ("फ़ोल्डर 1/ब्लब्ला")? क्या होगा यदि मॉड्यूल, जहां आयात कथन लिखा गया है, "फ़ोल्डर 2" में सहेजा गया है? क्या टाइपस्क्रिप्ट फिर मॉड्यूल को स्वीकार करता है ("फ़ोल्डर 1/ब्लब्ला")? – mgs
हां। जहां तक मैं देख सकता हूं कि पथ बदलता नहीं है, जहां भी आप आयात करते हैं (जब तक आप अभी भी उसी एप्लिकेशन संदर्भ में हैं - फिर भी उस प्रारंभिक आधार यूआरएल से लोड मॉड्यूल की श्रृंखला में)। – JcFx