一般的なエラー

このセクションでは、ユーザーが現実世界で経験する多くの一般的なエラーコードについて説明します。

TS2304

サンプル:

Cannot find name ga Cannot find name $ Cannot find module jquery

おそらく第三者のライブラリ(Googleアナリティクスなど)を使用しており、宣言していません。TypeScriptは、_スペルミス_や宣言しないで変数を使用すると、あなたを助けようとします。あなたは外部ライブラリを取り込んでいるので実行時に利用可能なものに明示する必要があります(修正方法)。

TS2307

サンプル:

Cannot find module 'underscore'

おそらく、サードパーティのライブラリ(underscoreなど)を_モジュール_(モジュールの詳細はこちらです)として使用していて、それに対する環境宣言ファイルがありません。

TS1148

サンプル:

Cannot compile modules unless the '--module' flag is provided

モジュールのセクションをチェックしてください。

キャッチ句の変数は型アノテーションを持つことはできません(Catch clause variable cannot have a type annotation)

サンプル:

try { something(); }
catch (e: Error) { // Catch clause variable cannot have a type annotation
}

TypeScriptはワイルドで間違ったJavaScriptからあなたを守ろうとします。Type Guardを代わりに使ってください。

try { something(); }
catch (e) {
  if (e instanceof Error){
    // Here you go.
  }
}

Interface ElementClassComponentComponentの型を同時に継承することはできません。(Interface ElementClass cannot simultaneously extend types Component and Component)

これはコンパイルコンテキストに2つのreact.d.ts(@types/react/index.d.ts)があるときに起こります。

修正

  • node_modulespackage-lock(またはyarn lock)を削除したあと、npm installをもう一度実行してください。

  • うまくいかない場合は、無効なモジュールを見つけてください(あなたのプロジェクトで使われているすべてのモジュールはreact.d.tspeerDependencyとするべきです。hardなdependencyは持たないようにしてください)。

最終更新