web-dev-qa-db-ja.com

TSLintエラー「最大行長120を超えています」

私のAngular2アプリでは、次のような1つのコンポーネントをインポートしています:

import { PersonsSingleAccountComponent} from 
   '../persons-information/fragments/persons-single-account/persons-single-account-bookings/persons-single-account-bookings.component'

「最大行文字を超えています」というlintエラーが表示されます。 ``(backtick)のステートメントを与えようとすると、エラーがスローされます。

このリントエラーを解決するにはどうすればよいですか?

45
Priya

実際には、コードに関係なく、変更できるものではありません。

次の前にコメントを追加して、このインポートのルールを無効にするだけです。

// tslint:disable-next-line:max-line-length
import { PersonsSingleAccountComponent} from '../persons-information/fragments/persons-single-account/persons-single-account-bookings/persons-single-account-bookings.component'
58
maxime1992

この問題を解決する別の方法があります。

バージョン5.9.0以降、 TSLint max-line-length rule は無視パターンのサポートを提供します。

tslint.json:

<!-- language: lang-json -->

{
  "rules": {
    "max-line-length": [
      true, 
      {
        "limit": 120, 
        "ignore-pattern": "^import [^,]+ from |^export | implements"
      }
    ],
  } 
}

このルールは次の行を無視します。

<!-- language: TypeScript -->

import { SomeLongInterfaceName } from '../../../nested/directory/structure/target';
class MyClass implements SomeLongInterfaceName, OnInit, OnDestroy, OnViewChange {}
export { MyClass, SomeLongInterfaceName };

クレジットは DanielKucal に移動します。

OPの質問については、^import [^,]+ fromを使用すると、長いインポートを無視するのに十分です。

これは、プロジェクト全体のTSLintルールを変更するよりも邪魔にならず、コメント付きの各ファイルでTSLintルールを無効にするようなコード臭がないため、これはより良いアプローチです。

17
jowey

このエラーを取り除く別の方法があります-プロジェクト全体のtslintルールを変更します

私の場合、限界を超える数百行の既存のプロジェクトがありました。実際、これは基本的にオブジェクトの配列であるため、コードはそのように明確でした。しかし、VS Codeはファイル全体に赤い下線を引き、読みにくくしました。

私がしたことは:"max-line-length": [ false ]でした。

同じ結果を生成する"max-line-length": [ true, 240 ]を書き込むことによって長さを変更することもできます。

次に、tslint.jsonの例を示します。

{
    "extends": "../tslint.json",
    "rules": {
        "directive-selector": [
            true,
            "attribute",
            "app",
            "camelCase"
        ],
        "component-selector": [
            true,
            "element",
            "app",
            "kebab-case"
        ],
        "max-line-length": [ false ],
    }
}

また、より詳細な設定については、 このリンク をご覧ください。

15
sr9yar