Поиск…


замечания

Независимо от того, какой linter вы выберете, каждый проект JavaScript должен использовать его. Они могут помочь найти ошибку и сделать код более последовательным. Для сравнения сравните сравнение инструментов для переливания JavaScript

JSHint

JSHint - это инструмент с открытым исходным кодом, который обнаруживает ошибки и потенциальные проблемы в JavaScript-коде.

Чтобы выровнять JavaScript, у вас есть два варианта.

  1. Перейдите на JSHint.com и вставьте свой код там в текстовом редакторе.
  2. Установите JSHint в свою среду IDE .

Преимущество добавления его в вашу среду IDE заключается в том, что вы можете создать файл конфигурации JSON с именем .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 объединился с АОС в апреле 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 принимает гораздо более упрямую позицию относительно того, как писать код JavaScript, подталкивая вас только к использованию частей, которые Дуглас Крокфорд считает своими «хорошими деталями», и от любого кода, который, по мнению Крокфорда, имеет лучшее решение. Следующий поток StackOverflow может помочь вам решить, какой из них подходит вам . Хотя есть различия (вот несколько кратких сравнений между ним и JSHint / ESLint ), каждый вариант чрезвычайно настраиваемый.

Для получения дополнительной информации о настройке JSLint проверьте NPM или github .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow