खोज…


टिप्पणियों

कोई फर्क नहीं पड़ता कि आप हर जावास्क्रिप्ट प्रोजेक्ट का चयन करने वाले लिंटर को एक का उपयोग करना चाहिए। वे त्रुटि खोजने और कोड को अधिक सुसंगत बनाने में मदद कर सकते हैं। अधिक तुलना के लिए जावास्क्रिप्ट लाइनिंग टूल्स की तुलना करें

JSHint

JSHint एक ओपन सोर्स टूल है जो जावास्क्रिप्ट कोड में त्रुटियों और संभावित समस्याओं का पता लगाता है।

अपने जावास्क्रिप्ट को लिंट करने के लिए आपके पास दो विकल्प हैं।

  1. JSHint.com पर जाएं और वहां अपने कोड को लाइन टेक्स्ट एडिटर पर पेस्ट करें।
  2. अपने IDE में JSHint इंस्टॉल करें।

इसे अपने IDE में जोड़ने का एक लाभ यह है कि आप एक JSON विन्यास फाइल बना सकते हैं जिसका नाम है .jshintrc जिसका उपयोग आपके प्रोग्राम को .jshintrc करते समय किया जाएगा। यदि आप परियोजनाओं के बीच कॉन्फ़िगरेशन साझा करना चाहते हैं तो यह कॉन्वेंट है।

उदाहरण .jshintrc फ़ाइल

{
    "-W097": false, // Allow "use strict" at document level
    "browser": true, // defines globals exposed by modern browsers http://jshint.com/docs/options/#browser
    "curly": true, // requires you to always put curly braces around blocks in loops and conditionals http://jshint.com/docs/options/#curly
    "devel": true, // defines globals that are usually used for logging poor-man's debugging: console, alert, etc. http://jshint.com/docs/options/#devel
    // List global variables (false means read only)
    "globals": {
        "globalVar": true
    },
    "jquery": true, // This option defines globals exposed by the jQuery JavaScript library.
    "newcap": false,
    // List any global functions or const vars
    "predef": [
        "GlobalFunction",
        "GlobalFunction2"
    ],
    "undef": true, // warn about undefined vars
    "unused": true // warn about unused vars
}

JSHint भी विशिष्ट लाइनों / कोड के ब्लॉक के लिए कॉन्फ़िगरेशन की अनुमति देता है

switch(operation)
{
   case '+'
   {
      result = a + b;
      break;
   }

   // JSHint W086 Expected a 'break' statement
   // JSHint flag to allow cases to not need a break
   /* falls through */
   case '*':
   case 'x':
   {
      result = a * b;
      break;
   }
}

// JSHint disable error for variable not defined, because it is defined in another file
/* jshint -W117 */
globalVariable = 'in-another-file.js';
/* jshint +W117 */

अधिक कॉन्फ़िगरेशन विकल्प http://jshint.com/docs/options/ पर प्रलेखित हैं

ESLint / JSCS

ESLint JSHint की तरह आपकी स्टाइल गाइड के लिए एक कोड स्टाइल लाइनर और फॉर्मैटर है। ESLint ने JSCS के साथ अप्रैल 2016 में विलय कर दिया। ESLint JSHint की तुलना में स्थापित करने के लिए अधिक प्रयास करता है, लेकिन आरंभ करने के लिए उनकी वेबसाइट पर स्पष्ट निर्देश हैं।

ESLint के लिए एक नमूना विन्यास निम्नानुसार है:

{
    "rules": {
        "semi": ["error", "always"], // throw an error when semicolons are detected 
        "quotes": ["error", "double"] // throw an error when double quotes are detected
    }
}

एक नमूना कॉन्फ़िगरेशन फ़ाइल जहां सभी नियम बंद हैं, जो वे करते हैं उसके विवरण के साथ यहां पाया जा सकता है

JSLint

JSLint वह ट्रंक है जिसमें से JSHint शाखित है। JSLint जावास्क्रिप्ट कोड को लिखने के बारे में बहुत अधिक राय रखता है, आपको केवल " डगलस क्रोकफोर्ड देवता " के "अच्छे हिस्से" होने के लिए पुर्जों का उपयोग करने की ओर धकेलता है, और किसी भी कोड से दूर जो क्रॉकफोर्ड का बेहतर समाधान मानता है। निम्नलिखित StackOverflow थ्रेड आपको यह तय करने में मदद कर सकता है कि आपके लिए कौन सा लिंटर सही है । हालांकि, अंतर हैं (यहाँ इसके और JSHint / ESLint के बीच कुछ संक्षिप्त तुलनाएँ हैं ), प्रत्येक विकल्प अत्यंत अनुकूलन योग्य है।

JSLint को कॉन्फ़िगर करने के बारे में अधिक जानकारी के लिए NPM या github देखें



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow