수색…


소개

TSLint는 코드의 정적 분석을 수행하고 코드의 오류 및 잠재적 인 문제를 감지합니다.

기본 tslint.json 설정

이것은 기본적인 tslint.json 설정입니다.

  • any 사용하지 못하게한다.
  • if / else / for / do / while 문에 중괄호가 필요합니다.
  • 문자열에 큰 따옴표 ( " )를 사용해야합니다.
{
    "rules": {
        "no-any": true,
        "curly": true,
        "quotemark": [true, "double"]
    }
}

적은 프로그래밍 오류에 대비 한 구성

이 tslint.json 예제에는 더 많은 타이핑을 수행하고 일반적인 오류를 잡거나 버그를 생성하기 쉬운 구조를 혼동 하고 TypeScript 기여자에 대한 코딩 지침을 더 자세히 따르는 구성 집합이 포함되어 있습니다.

이 규칙을 시행하려면 빌드 프로세스에 tslint를 포함시키고 tsc로 컴파일하기 전에 코드를 확인하십시오.

{
  "rules": {
     // TypeScript Specific
     "member-access": true, // Requires explicit visibility declarations for class members.
     "no-any": true, // Diallows usages of any as a type declaration.
     // Functionality
     "label-position": true, // Only allows labels in sensible locations.
     "no-bitwise": true, // Disallows bitwise operators.
     "no-eval": true, // Disallows eval function invocations.
     "no-null-keyword": true, // Disallows use of the null keyword literal.
     "no-unsafe-finally": true, // Disallows control flow statements, such as return, continue, break and throws in finally blocks.
     "no-var-keyword": true, // Disallows usage of the var keyword.
     "radix": true, // Requires the radix parameter to be specified when calling parseInt.
     "triple-equals": true, // Requires === and !== in place of == and !=.
     "use-isnan": true, // Enforces use of the isNaN() function to check for NaN references instead of a comparison to the NaN constant.
     // Style
     "class-name": true, // Enforces PascalCased class and interface names. 
     "interface-name": [ true, "never-prefix" ], // Requires interface names to begin with a capital ‘I’
     "no-angle-bracket-type-assertion": true, // Requires the use of as Type for type assertions instead of <Type>.
     "one-variable-per-declaration": true, // Disallows multiple variable definitions in the same declaration statement.
     "quotemark": [ true, "double", "avoid-escape" ], // Requires double quotes for string literals.
     "semicolon": [ true, "always" ], // Enforces consistent semicolon usage at the end of every statement.
     "variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore"] // Checks variable names for various errors. Disallows the use of certain TypeScript keywords (any, Number, number, String, string, Boolean, boolean, undefined) as variable or parameter. Allows only camelCased or UPPER_CASED variable names. Allows underscores at the beginning (only has an effect if “check-format” specified).
  }
}

미리 정의 된 규칙 집합을 기본값으로 사용

tslint 는 기존 규칙 세트를 확장 할 수 있으며 기본값 인 tslint:recommendedtslint:latest 와 함께 제공됩니다.

tslint:recommended 일반적인 TypScript 프로그래밍을 권장하는 다소 안정된 규칙이 권장됩니다. 이 구성은 세미 (semver)를 따르므로, 마이너 또는 패치 릴리스 전반에 걸쳐 변경 사항이 적용되지 않습니다.

tslint:latest extends tslint : 모든 TSLint 릴리스의 최신 규칙 구성을 포함하도록 권장되며 지속적으로 업데이트됩니다. 이 구성을 사용하면 코드에서 린트 오류를 ​​일으키는 새로운 규칙이 활성화 될 때 마이너 릴리즈 전반에 걸쳐 변경 사항이 도입 될 수 있습니다. TSLint가 주요 버전 범프에 도달하면 tslint : recommended가 tslint : latest와 동일하게 업데이트됩니다.

미리 정의 된 룰 세트의 문서소스 코드

따라서 다음과 같이 간단하게 사용할 수 있습니다.

{
  "extends": "tslint:recommended"
}

합리적인 시작 구성을 갖습니다.

하나는 다음을 통해 프리셋에서 규칙을 덮어 쓸 수 있습니다 rules 이 설정되지하는 의미 만든 노드 개발자를위한 예, no-consolefalse :

{
  "extends": "tslint:recommended",
  "rules": {
    "no-console": false
  }
}

설치 및 설정

tslint run 명령을 설치하려면

npm install -g tslint

Tslint 파일을 통해 구성됩니다 tslint.json . 기본 구성 실행 명령을 초기화하려면

tslint --init

파일 실행 명령에서 가능한 오류가 있는지 파일을 검사하려면

tslint filename.ts

TSLint 규칙 집합

Yeoman genearator는 이러한 모든 프리셋을 지원하며 다음과 같이 확장 할 수도 있습니다.



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