एक साधारण टीएस पैकेज है जिसका उपयोग कॉमनजेएस मॉड्यूल के रूप में किया जाता है और इसमें कोई निर्यात नहीं होता है। टीएस फाइलें उसी नाम से जेएस फाइलों में संकलित की जाती हैं और require('package/option-foo')
के रूप में उपयोग की जाती हैं।'असंबंधित फ़ाइलों में' ब्लॉक-स्कोप्ड वैरिएबल को पुन: संग्रहित नहीं कर सकता '
tsconfig.json:
{
"compilerOptions": {
"target": "es5"
}
}
विकल्प-foo.ts:
declare const GlobalVar: any;
function baz() {}
if (GlobalVar.foo) GlobalVar.baz = baz;
विकल्प-bar.ts:
declare const GlobalVar: any;
function baz() {}
if (GlobalVar.bar) GlobalVar.baz = baz;
यहाँ महत्वपूर्ण हिस्सा है कि option-foo
और option-bar
कभी भी के साथ उपयोग नहीं किया जाता है। प्रोजेक्ट में अन्य मानार्थ टीएस फाइलें हैं, लेकिन वे किसी भी चीज को प्रभावित नहीं करते हैं, केवल एक tsc
रन में जेएस को पारदर्शी होने की आवश्यकता है।
tsc
रन फेंक देता है जब
ब्लॉक-दायरे चर redeclare नहीं कर सकता 'GlobalVar'।
डुप्लिकेट फ़ंक्शन कार्यान्वयन।
ब्लॉक-स्कोप्ड वेरिएबल 'ग्लोबलवायर' को फिर से नहीं चलाया जा सकता है।
डुप्लिकेट फ़ंक्शन कार्यान्वयन।
GlobalVar
और baz
दोनों फ़ाइलों में।
बिल्ड प्रक्रिया को जटिल किए बिना या इन दो टीएस फ़ाइलों के आउटपुट के बिना इसका इलाज कैसे किया जा सकता है?
इस विशिष्ट मामले में, आपके पास 'custom-typings.d.ts' फ़ाइल की तरह कुछ हो सकता है और अगर वे दोनों' हैं 'तो बस इसे घोषित करें। आप इच्छित '- मॉड्यूल' संकलन को बदलने का प्रयास भी कर सकते हैं (एएमडी/सिस्टम आज़माएं, क्योंकि मुझे लगता है कि वे अलग-अलग फाइलों को स्कॉप करते हैं)। – Seiyria