2013-04-05 9 views
9

के लिए जांचने के लिए मैं इंडेंट लागू करने के विकल्प के साथ jshint का उपयोग करता हूं और 4 पर सेट करता हूं, और कोडबेस में अधिकांश फ़ाइलों के लिए इसे इस तरह रखना चाहता हूं।JSHint इंडेंटेशन को केवल एक विशिष्ट फ़ाइल

हालांकि एक विशिष्ट फ़ाइल में, मैं इस चेक को अक्षम करना चाहता हूं।

मैं शीर्ष पर JSHint टिप्पणी जोड़ने की कोशिश की लेकिन बात नहीं बनी:

/* jshint indent: false */ 

इसका कारण यह है इस वाक्य अन्य विकल्पों के लिए काम करता है बहुत बुरा है। उदाहरण के लिए, मैं निम्नलिखित के साथ camelcase enforcing विकल्प अक्षम कर सकता हूं:

/* jshint camelcase: false */ 

मैं यह कैसे कर सकता हूं?

कुछ जवाब का सुझाव है कि मांगपत्र स्वचालित रूप से सफेद विकल्प को सक्षम किया है, लेकिन मैं निम्नलिखित की कोशिश की और यह या तो काम नहीं किया:

/* jshint white: false */ 
+0

जब मैंने अपनी साइट पर इसके साथ खेला तो यह संकेत दिया कि यह इंडेंट इनपुट के लिए एक छोटा पूर्णांक की अपेक्षा करता है। तो मेरा अनुमान है कि डिफ़ॉल्ट को ओवरराइड करने का कोई तरीका नहीं है। आप अपने जीथब पेज पर कोई समस्या खोलना चाह सकते हैं: https://github.com/jshint/jshint/issues –

+0

बेशक यदि आप उस पृष्ठ के लिए एक अलग विशिष्ट इंडेंटेशन निर्दिष्ट करना चाहते हैं, तो आप इसे हमेशा सीधे सेट कर सकते हैं। यह पूरी तरह से अनदेखा करने का एक तरीका प्रतीत नहीं होता है। आप जिस प्लगइन/कमांड लाइन टूल का उपयोग कर रहे हैं उसके आधार पर, आप फ़ाइल को अनदेखा करने या इस फ़ाइल के लिए एक अलग कॉन्फ़िगरेशन फ़ाइल को संदर्भित करने के लिए JSHint भी प्राप्त कर सकते हैं। –

+0

हां यह भी मैंने देखा है, जेशिंट इंडेंट के बाद एक इंट की उम्मीद कर रहा था। –

उत्तर

2

यह वर्तमान में संभव नहीं है। यदि मान 0. से अधिक एक पूर्णांक यह नहीं है नहीं है

if (typeof val !== "number" || !isFinite(val) || val <= 0 || Math.floor(val) !== val) { 
    error("E032", nt, g[1].trim()); 
    return; 
} 

आप अपने प्रश्न पर टिप्पणी में देखा है के रूप में, यह एक त्रुटि बढ़ा देंगे: इस प्रकार JSHint indent विकल्प के मूल्य की पुष्टि करता है वास्तव में उस पूर्णांक पर अधिकतम सीमा डालें।

जेएसएचआईंट कैसे चला रहे हैं इस पर निर्भर करता है कि उन फ़ाइलों के लिए आपकी डिफ़ॉल्ट कॉन्फ़िगरेशन को ओवरराइड करना संभव हो सकता है जो इंडेंटेशन की परवाह नहीं करते हैं।

मैं इस समस्या के लिए सुझाव दिया गया समाधान के साथ opened a pull request है

grunt.initConfig({ 
    jshint: { 
     options: { 
      /* Don't set indent here */ 
     }, 
     uses_defaults: ["somefile.js"], 
     with_overrides: { 
      options: { 
       indent: 4 
      }, 
      files: { 
       src: ["someotherfile.js"] 
      } 
     } 
    } 
}); 

अद्यतन, ताकि पर नज़र रखने और हम अगर देखेंगे: उदाहरण के लिए, JSHint Grunt task साथ आप यह कर सकते हैं यह कार्यक्षमता जेएसएचआईंट टीम जोड़ना चाहती है।

+0

यह अब तय किया जा रहा है। –

+0

हां, यह JSHint 2.0.0 के रूप में तय किया गया है। –

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