TypeScript
एक प्रकार की परिभाषा फ़ाइल के बिना एक जावास्क्रिप्ट पुस्तकालय का उपयोग कैसे करें
खोज…
परिचय
जबकि कुछ मौजूदा जावास्क्रिप्ट लाइब्रेरियों में परिभाषा फाइलें होती हैं, कई ऐसे हैं जो नहीं करते हैं।
टाइपस्क्रिप्ट लापता घोषणाओं को संभालने के लिए एक दो पैटर्न प्रदान करता है।
किसी भी वैश्विक घोषित करें
कभी-कभी 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
प्रकार का होगा