수색…


비고

무슨 linter 당신이 모든 자바 스크립트 프로젝트를 선택해야 상관없이 하나를 사용해야합니다. 오류를 찾고 코드를보다 일관성있게 만들 수 있습니다. 더 많은 비교를 위해 비교 JavaScript Linting 도구를 확인하십시오.

JSHint

JSHint 는 JavaScript 코드의 오류 및 잠재적 인 문제를 감지하는 오픈 소스 도구입니다.

JavaScript를 보완하기 위해 두 가지 옵션이 있습니다.

  1. JSHint.com으로 이동하여 텍스트 편집기에 코드를 붙여 넣으십시오.
  2. IDE에 JSHint를 설치 하십시오 .

IDE에 추가 ​​할 경우 JSON 구성 파일 ( .jshintrc 을 작성하면 프로그램을 linting 할 때 사용할 수 있습니다. 프로젝트간에 구성을 공유하려는 경우 수녀원입니다.

예제 .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

ESLintJSHint비슷한 스타일 가이드를위한 코드 스타일 링터 및 포맷터입니다. ESLint는 2016 년 4 월에 JSCS 와 통합되었습니다. 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
    }
}

모든 규칙이 off로 설정된 샘플 구성 파일과 그 파일에 대한 설명이 여기에 있습니다 .

JSLint

JSLint 는 JSHint가 분기 된 트렁크입니다. JSLint는 더글러스 크록 포드 (Crookford) 가 "좋은 부품"으로 간주하는 부분만을 사용하고 더 나은 솔루션을 제공한다고 믿는 코드는 제외하고 JavaScript 코드를 작성하는 방법에 대한 의견이 많습니다. 다음 StackOverflow 스레드는 어떤 Linter가 자신에게 적합한 지 결정 하는 데 도움이 될 수 있습니다 . 차이점은 있지만 (여기에는 JSHint / ESLint 와 몇 가지 간단한 비교가 있습니다) 각 옵션은 매우 맞춤 설정할 수 있습니다.

JSLint 구성에 대한 자세한 정보는 NPM 또는 github을 확인하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow