web-dev-qa-db-ja.com

tslintの意味:「警告: 'no-use-before-declare'ルールには型情報が必要です」

Tslintの意味:「警告: 'no-use-before-declare'ルールには型情報が必要です。」私はいくつかの基本的なグーグルをしましたが、これが何を意味するのか、またはその意味については明確ではありません。

23
user8570495

更新!この質問が行われたので、--type-checkフラグは非推奨になったため、使用できるはずです:

tslint --project tsconfig.json src/**/**.ts

以下の元の答え。

これは、no-use-before-declareおよび--type-checkフラグを使用して実行しない限り、--projectルールを有効にできないことを意味すると考えています。ルール違反を判断するために、これらのフラグが渡されるときに発生する何かに依存する必要があります。

tslint --type-check --project tslint.json src/**/**.ts
21
Fenton

VSCodeでこの警告が表示された場合は、 [〜#〜] readme [〜#〜] としてこのルールをtslint.jsonから削除するだけです。 vscode-tslintプラグインのファイルは次のように言います:

Tslintバージョン5以降、ルールno-unused-variableにはタイプ情報が必要です。タイプ情報を含むルールは現在vscode-tslintでサポートされていません。plsは問題#70を参照してください。推奨される回避策は、tsconfig.jsonファイルでTypeScriptコンパイラオプションnoUnusedLocalsおよびnoUnusedParametersを有効にすることです。

4
Zhang Buzz

TSLint v5.10.0以上では、TSLintを TypeScript構成 ファイルにポイントする必要があります。 --projectフラグを使用してこれを行うことができます。

tslint --project tsconfig.json --config tslint.json \"src/**/*.ts\"

tsconfig.jsontslint.jsonを一部のユーザー が既に経験している と混同しやすいため、注意してください。

TSLint CLIオプションはすべて、 ここに記載されています--type-checkの使用は、 TSLint v5.8.0 で非推奨になったため、もう必要ありません。

3

最新のTypeScriptはルールを使用せず、計算が遅いため、ルールは推奨されません。 このページ によると:

コンパイラは、宣言の前にブロックスコープのletおよびconst変数が使用されているかどうかを自動的に検出するため、このキーワードは主にvarキーワードを使用する場合に役立ちます。最近のほとんどのTypeScriptはvarを使用しないため、このルールは一般的に推奨されておらず、従来の目的のために保持されています。計算が遅く、組み込みの構成プリセットで有効になっていないため、TSLintの設計決定を通知するために使用しないでください。

3
Jonathan Ramos