🚸
ts-nodeで@typesに配置した独自の型定義ファイルを読み込んでくれない時は..
詰まったのでメモ。
起こったこと
ちょっとしたスクリプトを TypeScript で書いていて、それを実効するためにts-node
を使ったのですが、src/@types
においた独自の型定義ファイルをどうしても読み込んでくれず、 Could not find a declaration file for module ...
のエラーが発生しました。
試してみたこととしては以下のとおりです。
-
tsconfig.json
のbaseUrl
、path
で型定義ファイルのパス指定 -
tsconfig.json
のtypeRoots
への型定義ファイルのパス追加(非推奨らしい)
どれを試しても駄目でした。
解決策
答えはやはりREADMEに(最初から読もう😇)。
ts-node のデフォルトでは、指定ファイルと依存関係にないファイルは読み込んでくれないので、起動時に--files
オプションを付与する必要がありました。
これでsrc/@types
に指定した独自の型定義ファイルも読み込んでくれるようになります。解決!
package.json
{
//...
"scripts": {
"start": "ts-node --files src/index.ts"
}
//...
}
Discussion