Ricerca…


Osservazioni

Indipendentemente dal tipo di lintero che scegli, ogni progetto JavaScript dovrebbe usarne uno. Possono aiutare a trovare errori e rendere il codice più coerente. Per ulteriori comparazioni consulta gli strumenti per lo sfilacciamento di JavaScript

JSHint

JSHint è uno strumento open source che rileva errori e potenziali problemi nel codice JavaScript.

Per filtrare il tuo JavaScript hai due opzioni.

  1. Vai a JSHint.com e incolla il tuo codice lì in linea su editor di testo.
  2. Installa JSHint nel tuo IDE .

Un vantaggio dell'aggiunta al tuo IDE è la possibilità di creare un file di configurazione JSON denominato .jshintrc che verrà utilizzato quando si blocca il programma. Questo è un convento se si desidera condividere le configurazioni tra i progetti.

Esempio di file .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 consente anche configurazioni per linee / blocchi di codice specifici

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

Altre opzioni di configurazione sono documentate su http://jshint.com/docs/options/

ESLint / JSCS

ESLint è un linter style style e un formattatore per la tua guida allo stile molto simile a JSHint . ESLint si è fusa con JSCS nell'aprile del 2016. ESLint si impegna di più per configurare JSHint, ma ci sono istruzioni chiare sul loro sito Web per iniziare.

Una configurazione di esempio per ESLint è la seguente:

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

Un file di configurazione di esempio in cui TUTTE le regole sono disattivate, con le descrizioni di ciò che fanno è possibile trovare qui .

JSLint

JSLint è il trunk da cui JSHint ha diramato. JSLint assume una posizione molto più autorizzata su come scrivere il codice JavaScript, spingendoti a utilizzare solo le parti che Douglas Crockford ritiene siano le sue "parti buone" e lontano da qualsiasi codice che Crockford crede di avere una soluzione migliore. Il seguente thread StackOverflow può aiutarti a decidere quale linter è giusto per te . Mentre ci sono delle differenze (qui ci sono alcuni brevi confronti tra questo e JSHint / ESLint ), ogni opzione è estremamente personalizzabile.

Per maggiori informazioni sulla configurazione di JSLint, controlla NPM o github .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow