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.
- Gå till JSHint.com och klistra in din kod där i linjetekstredigeraren .
- Installera JSHint i din IDE .
- Atom: linter-jshint (måste ha Linter- plugin installerat)
- Sublim text: JSHint Gutter och / eller Sublime Linter
- Vim: jshint.vim eller jshint2.vim
- Visual Studio: VSCode JSHint
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 .