ごらくらいふ

プログラミングしたりゲームしたり

node_modulesをexcludeに入れても参照してエラーになっているときは、@typesを確認する。

typescriptのプロジェクトを作るとき、毎回プロジェクト設定と1から向き合ってる。 色々忘れてるから毎回足を引っ掛けるんだこれが。CompilerOptionsの項目多いし。

前提

  • 発生時の TypeScript version: 3.7.5
  • typescriptのビルド設定はtsconfig.jsonを使っている

問題

  • tscnode_modules配下を参照してしまってエラーを吐くことがある
  • excludeの対象にnode_moduleが入っているにも関わらず

原因

  • typesの設定をしておらず、tscnode_modules/@typesの下すべてを見に行っていた
    • エラーをよーくみると@typesのものばかりだった

対応

  • tsconfig.jsoncompilerOptions.types を設定する
    • 特に外部モジュールを参照しないときは、空配列を与えた
    • compilerOptions.typeRootsの設定でも良い

関連URL