हमारी प्रोजेक्ट में हम आवश्यकता मॉड्यूल को हमारे मॉड्यूल लोडर के रूप में उपयोग कर रहे हैं। हमारे मॉड्यूल में से कुछ वैश्विक पुस्तकालयों को प्रभावित करती है, और इसलिए सीधे मॉड्यूल वे में संदर्भित भीतर उपयोग नहीं किया जाएगाटाइपस्क्रिप्ट: संकलन अप्रतिबंधित आयात को हटाता है
उदाहरण:।
define(['definitely/goingto/usethis/','just/referencingthis/forpackaging'], function(useThis) {
useThis.likeIPromised();
// the following call can only be made when the second required file is available
someGlobalAvailableVariable.someMethod();
});
जब जावास्क्रिप्ट में मेरी मॉड्यूल लेखन यह काम करता है के रूप में उम्मीद। हालांकि, हम चरण-दर-चरण टाइप करके हमारे प्रोजेक्ट चरण का अनुवाद कर रहे हैं। ऊपर के उदाहरण को देखते हुए, इस में जो परिणाम:
import useThis = module("definitely/goingto/usethis/");
import whatever = module("just/referencingthis/forpackaging");
useThis.likeIPromised();
// I've written a definition file so the following statement will evaluate
someGlobalAvailableVariable.someMethod();
और जब जावास्क्रिप्ट को यह संकलन, संकलक उपयोगी होना चाहता है और किसी भी अप्रयुक्त आयात निकाल देता है। इस प्रकार, यह मेरा कोड तोड़ता है, क्योंकि दूसरा आयातित मॉड्यूल उपलब्ध नहीं है।
मेरे वर्तमान के आसपास काम एक अनावश्यक काम शामिल करने के लिए है, लेकिन यह बदसूरत दिखता है:
import whatever = module("just/referencingthis/forpackaging");
var a = whatever; // a is never ever used further down this module
किसी को भी पता है अगर यह टाइपप्रति संकलक संकलन के दौरान मॉड्यूल अनुकूलन नहीं करने के लिए कॉन्फ़िगर करने के लिए संभव है?
/// <amd-dependency path="just/referencingthis/forpackaging" />
मुझे लगता है कि आप आयात को उचित मॉड्यूल में नहीं ले जा सकते हैं? – Fenton
वे उपयुक्त मॉड्यूल में हैं। मेरी परियोजना मुख्य रूप से विगेट्स से बाहर होती है। प्रत्येक विजेट अपने मॉड्यूल में पैक किया जाता है। मैं टेम्पलेटिंग के लिए हैंडलबार्स का उपयोग कर रहा हूं और परिणाम विजेट को अपनी विजेट परिभाषा फ़ाइलों के साथ पैक करना चाहता हूं। इस तरह के विचार को संदर्भित करते समय, यह वैश्विक चर 'हैंडलबार्स' पर एक ही नाम के साथ एक विधि का पर्दाफाश करेगा। इसलिए मुझे मॉड्यूल को संदर्भित करने की आवश्यकता नहीं है क्योंकि यह मेरे लिए विधि परिभाषित करेगा। – thomaux