2016-06-26 7 views
10

में ग्लोबल्स की तरह ईएसलिंट मैं कॉर्डोवा से डिवाइस प्लगइन का उपयोग कर रहा हूं इसलिए मेरे पास let model = device.model || ""; जैसी लाइन है जो Cannot find name 'device'. त्रुटि का कारण बनती है। मुझे लगता है कि ईएसलिंट के साथ मुझे "eslintConfig": { "globals": { "device": true } } करना होगा, लेकिन उसमें टीएसलिंट समकक्ष क्या है?टीएसलिंट

उत्तर

4

मेरा मानना ​​है कि Cannot find name 'device'. त्रुटि टाइपस्क्रिप्ट कंपाइलर द्वारा उत्पन्न होती है, न कि टीएसलिंट द्वारा। वैश्विक device वैरिएबल खोने की समस्या को हल करने के लिए आप एक प्रकार की परिभाषा फ़ाइल लिख सकते हैं। सम्मेलन द्वारा इस फ़ाइल का नाम globals.d.ts रखा गया है।

declare let device: Device; 

interface Device { 
    func:() => void; 
    prop: string; 
} 

बदलें func और prop कार्यों और गुण आप डिवाइस चर की अपेक्षा के साथ:

इस रिपोर्ट में निम्न कोड डाल दिया।

+0

मुझे यह 'globals.d.ts' फ़ाइल कहां रखनी चाहिए? – Milkncookiez

+0

@Milkncookiez इसे किसी स्थान पर होना आवश्यक है जिसे टाइपस्क्रिप्ट कंपाइलर द्वारा उठाया गया है। आम तौर पर इसे रूट स्रोत फ़ोल्डर में रखा जाता है। –

0

आप उन्हें वैश्विक चर को ban सूची में tslint.json में जोड़कर अनदेखा कर सकते हैं। यह वही दृष्टिकोण used in the tslint repo है जहां वे मोचा के describe और it ग्लोबल्स को अनदेखा कर रहे हैं।

"ban": [true, 
    ["describe", "only"], 
    ["it", "only"] 
], 
+0

नहीं, यह 'description.only (...) 'और' test.only (...)' कॉल पर प्रतिबंध लगा रहा है। उस जेसन के साथ, tslint किसी भी त्रुटि के रूप में 'test.only' के किसी भी अवसर झंडे। Https://palantir.github.io/tslint/rules/ban/ देखें – bronson

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

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