क्या किसी दिए गए लाइन के लिए JSHint चेतावनी को दबाने का एक तरीका है?


264

मेरे ऐप में एक (एकल) मामला evalहै, जिसका उपयोग किया गया है, और मैं केवल इस मामले के लिए JSHint चेतावनी को दबाना चाहूंगा।

वहाँ एक तरीका है कि प्राप्त करने के लिए है? विन्यास, जादू की टिप्पणी, ...?

जवाबों:


465

हां वहां एक रास्ता है। वास्तव में दो। में अक्टूबर 2013 JSHint इस तरह कोड के ब्लॉक की अनदेखी करने के लिए एक तरह से कहा:

// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
// Code here will be linted with JSHint.

आप इस तरह की टिप्पणी के साथ एक भी लाइन को अनदेखा कर सकते हैं:

ignoreThis(); // jshint ignore:line

काम करने के लिए JSHint उदात्त पाठ 2/3 प्लगइन्स प्राप्त करने की कोशिश करने वाले किसी भी व्यक्ति के लिए, आपको विशेष रूप से ST पैकेज फ़ोल्डर में jshint को अपग्रेड करना होगा। (मैं विशेष रूप से जेएसहिंट गटर के साथ इस पर भाग गया)
जोश

7
क्या केवल एक विशिष्ट त्रुटि को अनदेखा करना संभव है? जैसे। उस विशिष्ट लाइन पर अधिकतम अभी भी अन्य त्रुटियों का पता लगाता है।
जुरगेन पॉल

4
के लिए अच्छाई का धन्यवाद // jshint ignore:line- के साथ महान काम करता है;(function() { // jshint ignore:line
katy lavallee

4
"अनदेखा" विकल्प को हटा दिया गया है, और मुझे ग्रहण में JSHint एकीकरण सुविधा के संस्करण 0.9.9 का उपयोग करके त्रुटि "बुरा विकल्प" मिलता है। क्या एक ही काम करने का एक वैकल्पिक तरीका है?
मध्यरात्रि

2
जिस लाइन को मैं अनदेखा करना चाहता हूं, उसके लिए मुझे bad option: 'ignore'विशिष्ट विकल्प का उपयोग करके मिला । मेरे मामले में मैं नजरअंदाज करना चाहता था if (x == null)क्योंकि मैं चाहता हूं कि यह सिर्फ अशक्त के बराबर हो और जेएसहिंट को चुप कराने /* jshint eqnull:true */के ifलिए उसी फ़ंक्शन में उपयोग किया जाए ।
नैट

102

"बुराई" का जवाब मेरे काम नहीं आया। इसके बजाय, मैंने JSHints डॉक्स पेज पर जो सिफारिश की थी, उसका इस्तेमाल किया । यदि आपको पता है कि फेंक दी गई चेतावनी है, तो आप इसे कोड के ब्लॉक के लिए बंद कर सकते हैं। उदाहरण के लिए, मैं कुछ तीसरे पक्ष के कोड का उपयोग कर रहा हूं जो ऊंट मामले के कार्यों का उपयोग नहीं करता है, फिर भी मेरे JSHint नियमों को इसकी आवश्यकता है, जिसके कारण चेतावनी दी गई। इसे चुप करने के लिए, मैंने लिखा:

/*jshint -W106 */
save_state(id);
/*jshint +W106 */

15
और मैं अपनी चेतावनी संख्या कैसे पता करूं?
1968 पर 11684

3
जब आप jshint चलाते हैं और शुरू में त्रुटि मिलती है, तो संख्या की सूचना दी जाएगी।
tollmanz

5
मुझे माफ करें। मैं भूल गया कि मैंने एक टिप्पणी छोड़ दी है, इसलिए मैंने डॉक्स की जाँच करने के बाद कुछ पोस्ट नहीं किया। यह नहीं है, आपको --verboseचेतावनी संख्या प्राप्त करने के लिए कमांड में जोड़ना होगा।
11684

9
वैकल्पिक रूप से, इस संबंधित प्रश्न का उत्तर संदेश की जाँच करने का सुझाव देता है । जब से मैं WebStorm का उपयोग करता हूं तब मुझे यह काफी मददगार लगा।
माइकल जेस

3
सभी चेतावनी, त्रुटि और जानकारी नंबर यहां
देखे

37

जैसा कि आप JSHint के प्रलेखन में देख सकते हैं कि आप प्रति फ़ंक्शन या प्रति फ़ाइल विकल्प बदल सकते हैं । आपके मामले में सिर्फ आपकी फ़ाइल में एक टिप्पणी या यहां तक ​​कि उपयोग किए जाने वाले फ़ंक्शन में और भी स्थानीय eval:

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}

fwiw, यह मेरे लिए 2.1.9 के साथ काम नहीं किया, लेकिन 2.1.11 में अपग्रेड करने के बाद काम किया
kangax
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.