Sök…


Anmärkningar

Oavsett vilken lint du väljer ska alla JavaScript-projekt använda ett. De kan hjälpa till att hitta fel och göra koden mer konsekvent. För fler jämförelser, kolla jämförelseverktyg för JavaScript-foder

JSHint

JSHint är ett öppen källkodsverktyg som upptäcker fel och potentiella problem i JavaScript-kod.

För att fodra JavaScript har du två alternativ.

  1. Gå till JSHint.com och klistra in din kod där i linjetekstredigeraren .
  2. Installera JSHint i din IDE .

En fördel med att lägga till den till din IDE är att du kan skapa en JSON-konfigurationsfil med namnet .jshintrc som kommer att användas när du foder ditt program. Detta är kloster om du vill dela konfigurationer mellan projekt.

Exempel .jshintrc fil

{
    "-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 tillåter också konfigurationer för specifika rader / kodblock

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

Fler konfigurationsalternativ dokumenteras på http://jshint.com/docs/options/

ESLint / JSCS

ESLint är en kodlint och formaterare för din stilguide, precis som JSHint . ESLint slogs samman med JSCS i april 2016. ESLint tar mer ansträngningar för att installera än JSHint, men det finns tydliga instruktioner på deras webbplats för att komma igång.

En provkonfiguration för ESLint är som följer:

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

Ett exempel på konfigurationsfil där alla regler avstängd, med beskrivningar av vad de gör kan hittas här .

JSLint

JSLint är stammen från vilken JSHint grenades. JSLint tar en mycket mer uppfattning om hur man skriver JavaScript-kod, och driver dig mot att bara använda de delar som Douglas Crockford anser vara sina "bra delar", och bort från någon kod som Crockford anser ha en bättre lösning. Följande StackOverflow-tråd kan hjälpa dig att bestämma vilken lister som passar dig . Det finns skillnader (här är några korta jämförelser mellan det och JSHint / ESLint ), men varje alternativ är extremt anpassningsbart.

För mer information om konfigurering av JSLint, kolla in NPM eller github .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow