2012-11-02 21 views
42

क्या कोई विकल्प है और/या मैं निम्न की तरह त्रुटियों को कैसे दबा सकता हूं?दबाने के लिए कैसे करें "{variable} डॉट नोटेशन में बेहतर लिखा गया है।"

175,14: ['ट्रैकर'] डॉट नोटेशन में बेहतर लिखा गया है।

उत्तर

98

यदि यह एक सुविधा है और कोई बग नहीं है, तो इसे अपनी फ़ाइल के शीर्ष पर रखें।

/*jshint sub:true*/ 

यदि यह एक बग है, तो आप अपने कोड

foo['tracker'] = bar // from this... 
foo.tracker = bar; // to this! 

अच्छा पद कारणों पर यहाँ refactor चाहिए: https://stackoverflow.com/a/2001410/94668

+6

यह हमेशा bugged मुझे एक ही रास्ता कारण एक सहयोगी सरणी में तत्वों का संदर्भ देने के लिए जिनके कुंजी आरक्षित कीवर्ड हैं ब्रैकेट शैली का उपयोग करना है। यह अच्छा होगा अगर jsHint ब्रैकेट में मान की जांच कर सके और चेतावनी उत्पन्न न करे अगर यह एक जेएस कीवर्ड है। अन्यथा, जेएसलिंट मुझे डॉट नोटेशन में कुछ लिखने के लिए कहता है जो वाक्यविन्यास त्रुटि का कारण बनता है: पी – reblace

+0

@reblace JSHint (नोट, * जेएसलिंट * जैसा नहीं है) [माना जाता है कि बिल्कुल ठीक है] (http://jslinterrors.com/एक-है-बेहतर लिखा-इन-बिंदु संकेतन)। –

+10

जो '" उप "है: सत्य, आपकी .jshintrc फ़ाइल – ThorSummoner

14

JSHint 1.0.0 में और इसके बाद के संस्करण आप किसी भी उपेक्षा करने की क्षमता है special option syntax के साथ चेतावनी। इस चेतावनी का पहचान W069 है।

इसका मतलब है कि आप JS12int को /*jshint -W069 */ निर्देश के साथ इस चेतावनी को जारी नहीं करने के लिए कह सकते हैं।

तुम भी कोड के कई रेखाओं को रैप कर सकते हैं और उसके बाद (भविष्य के लिए एक नोट के साथ आप कारण है कि यह एक अच्छा विचार था) नीचे दिए गए उदाहरण के रूप में चेतावनी को पुन: सक्षम:

/*jshint -W069 */ 
/*Disable Warning Justification: 
    Using bracket notation so Google Closure Compiler 
    ADVANCED_OPTIMIZATIONS will keep the original property names. */ 
obj['prop1'] ='foo'; 
obj['prop2'] ='bar'; 
/*jshint +W069 */ 
+2

आप इसे उत्तर में '/ * jshint sub: true * /' के साथ अनदेखा भी कर सकते हैं – TomFuertes

+0

कोड के एक टुकड़े को सक्षम/अक्षम करना जबकि शेष फ़ाइल को लिंट करना इस समस्या को दूर करने का एक शानदार तरीका है। – Ashwin

+0

बिल्कुल काम नहीं कर रहा है ...! –