Zoeken…


Opmerkingen

Welke linter u ook kiest, elk JavaScript-project moet er een gebruiken. Ze kunnen helpen fouten te vinden en code consistenter te maken. Voor meer vergelijkingen bekijk de vergelijking JavaScript-pluishulpmiddelen

JSHint

JSHint is een open source tool die fouten en potentiële problemen in JavaScript-code detecteert.

Om uw JavaScript te pluis hebben u twee opties.

  1. Ga naar JSHint.com en plak je code daar in de online teksteditor.
  2. Installeer JSHint in uw IDE .

Een voordeel van het toevoegen aan uw IDE is dat u een JSON-configuratiebestand met de naam .jshintrc kunt maken dat wordt gebruikt bij het pluiseren van uw programma. Dit is een klooster als u configuraties tussen projecten wilt delen.

Voorbeeld .jshintrc bestand

{
    "-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 staat ook configuraties toe voor specifieke regels / blokken code

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 */

Meer configuratie-opties zijn gedocumenteerd op http://jshint.com/docs/options/

ESLint / JSCS

ESLint is een code-achtige linter en formatter voor uw stijlgids, net als JSHint . ESLint fuseerde met JSCS in april 2016. ESLint kost meer moeite om op te zetten dan JSHint, maar er staan duidelijke instructies op hun website om aan de slag te gaan.

Een voorbeeldconfiguratie voor ESLint is als volgt:

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

Een voorbeeld van een configuratiebestand waarin ALLE regels zijn uitgeschakeld, met beschrijvingen van wat ze doen, vindt u hier .

JSLint

JSLint is de stam waaruit JSHint vertakte. JSLint neemt een veel meer eigenzinnige houding aan over hoe JavaScript-code te schrijven, en drijft u ertoe alleen de onderdelen te gebruiken die Douglas Crockford als de "goede onderdelen" beschouwt, en weg van elke code die volgens Crockford een betere oplossing heeft. De volgende StackOverflow-thread kan u helpen beslissen welke linter geschikt is voor u . Hoewel er verschillen zijn (hier zijn enkele korte vergelijkingen tussen het en JSHint / ESLint ), is elke optie uiterst aanpasbaar.

Bekijk NPM of github voor meer informatie over het configureren van JSLint.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow