2016-07-12 25 views
5

मेरे पास ui.js. नामक एक जावास्क्रिप्ट फ़ाइल है।टाइपस्क्रिप्ट में जावास्क्रिप्ट का उपयोग कैसे करें

ui.js के अंदर यूआई सेटअप कोड है।

if (!("ontouchstart" in document.documentElement)) { 

    document.documentElement.className += " no-touch"; 

    var jScrollOptions = { 
     autoReinitialise: true, 
     autoReinitialiseDelay: 100 
    }; 

    $('.box-typical-body').jScrollPane(jScrollOptions); 
    $('.side-menu').jScrollPane(jScrollOptions); 
    $('.scrollable-block').jScrollPane(jScrollOptions); 
} 

}

मैं टाइपप्रति से कॉल करने के लिए सक्षम होने के लिए करना चाहते हैं।

मैं कोड को टाइपस्क्रिप्ट में कनवर्ट नहीं करना चाहता क्योंकि सैकड़ों लाइनें हैं और यह वास्तव में आवश्यक नहीं है। UI तैयार होने के बाद इसे एक बार होना चाहिए।

ऐसा लगता है कि मुझे इसे किसी फ़ंक्शन में लपेटने में सक्षम होना चाहिए, और फिर उस फ़ंक्शन को टाइपस्क्रिप्ट से कॉल करना चाहिए।

लेकिन मैं यह समझने में सक्षम नहीं हूं कि यह कैसे करें।

नोट: पहले प्रश्न का डुप्लिकेट नहीं, जैसा कि जेएस को परिवर्तित करना था, जितना संभव हो उतना कम संशोधन के साथ इसका उपयोग न करें।

+0

संभावित स्क्रिप्ट [टाइपस्क्रिप्ट से सीधे जावास्क्रिप्ट को कॉल करना] [http://stackoverflow.com/questions/12710962/calling-javascript- प्रत्यक्ष रूप से-from-typescript) – choz

+0

उस उत्तर को 'कनवर्टिंग' जेएस को टाइपस्क्रिप्ट में करना है। इस मामले में, मैं इसे जितना संभव हो उतना कम संशोधनों के साथ उपयोग करना चाहता हूं। वीडियो के लिए –

उत्तर

9

लेकिन मैं यह समझने में सक्षम नहीं हूं कि यह कैसे किया जाए।

बस अपने tsconfig.json compilerOptions में सच करने के लिए allowJs की स्थापना की और उसके बाद यह सुनिश्चित .js फ़ाइल files/include/exclude आदि

अधिक

का उपयोग कर रहा पर एक वीडियो किया था शामिल है विषय के साथ-साथ https://www.youtube.com/watch?v=gmKXXI_ck7w

+1

+10। धन्यवाद, हमेशा के रूप में :) –

2

आप बाहरी फ़ाइलों से जावास्क्रिप्ट फ़ंक्शंस को कॉल कर सकते हैं कोई चिंता नहीं के साथ। लेकिन आपको उन्हें घोषित करना होगा ताकि टाइपस्क्रिप्ट उनके बारे में जानता हो। यदि आप नहीं करते हैं, तो आपका कोड काम करेगा, लेकिन संकलन करते समय आपको एक त्रुटि मिलेगी।

आप एक गुमनाम टाइप वर का उपयोग कर सकते हैं:

declare var myFunction;

या एक interfaced टाइप var:

interface __myFunction { } declare var myFunction: __myFunction;

तुम भी एक घोषणा फ़ाइल में यह लिख सकता है (लेकिन अपने आवश्यक नहीं)। TypeScript documentation भी देखें।

+0

यह वह जवाब है जिसका मैं वास्तव में उपयोग कर रहा हूं और यह काम करता है। –

+0

आप इसे स्वीकृत उत्तर के रूप में चुन सकते हैं :) – Mick

संबंधित मुद्दे