खोज…


परिचय

जबकि कुछ मौजूदा जावास्क्रिप्ट लाइब्रेरियों में परिभाषा फाइलें होती हैं, कई ऐसे हैं जो नहीं करते हैं।

टाइपस्क्रिप्ट लापता घोषणाओं को संभालने के लिए एक दो पैटर्न प्रदान करता है।

किसी भी वैश्विक घोषित करें

कभी-कभी any प्रकार के वैश्विक घोषित करना आसान होता है, विशेषकर सरल परियोजनाओं में।

यदि jQuery के पास घोषणाएं नहीं हैं ( यह करता है ), तो आप डाल सकते हैं

declare var $: any;

अब $ के किसी भी उपयोग टाइप किया जा जाएगा any

एक मॉड्यूल बनाएं जो किसी भी डिफ़ॉल्ट को निर्यात करता है

अधिक जटिल परियोजनाओं के लिए, या उन मामलों में जहां आप धीरे-धीरे एक निर्भरता टाइप करना चाहते हैं, मॉड्यूल बनाने के लिए क्लीनर हो सकता है।

उदाहरण के रूप में JQuery का उपयोग करना (हालाँकि इसमें टाइपिंग उपलब्ध है ):

// place in jquery.d.ts
declare let $: any;
export default $;

और फिर अपनी परियोजना में किसी भी फाइल में, आप इस परिभाषा को आयात कर सकते हैं:

// some other .ts file
import $ from "jquery";

इस आयात के बाद, $ any रूप में टाइप किया जाएगा।

यदि लाइब्रेरी में कई शीर्ष-स्तरीय चर हैं, तो इसके बजाय नाम से निर्यात और आयात करें:

// place in jquery.d.ts
declare module "jquery" {
   let $: any;
   let jQuery: any;

   export { $ };
   export { jQuery };
}

फिर आप दोनों नामों का आयात और उपयोग कर सकते हैं:

// some other .ts file
import {$, jQuery} from "jquery";

$.doThing();
jQuery.doOtherThing();

एक परिवेश मॉड्यूल का उपयोग करें

यदि आप सिर्फ एक आयात के इरादे को इंगित करना चाहते हैं (ताकि आप एक वैश्विक घोषित नहीं करना चाहते) लेकिन किसी भी स्पष्ट परिभाषा के साथ परेशान नहीं करना चाहते हैं, तो आप एक परिवेश मॉड्यूल आयात कर सकते हैं।

// in a declarations file (like declarations.d.ts)
declare module "jquery";    // note that there are no defined exports

फिर आप परिवेश मॉड्यूल से आयात कर सकते हैं।

// some other .ts file
import {$, jQuery} from "jquery";

ऊपर घोषित मॉड्यूल (जैसे $ और jQuery ) से आयातित कुछ any प्रकार का होगा



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow