概要
ts-node で TypeScript のコードを実行しようとしたとき以下のようなエラーが出ることがある。
npx ts-node src/index.ts
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /Users/hoge/workspace/fuga/src/index.ts
調べてみると、解決策の1つとして package.json
から "type": "module"
を消せ、というのが挙げられていることがあるが、これは消したくない。
どうしたら良いか。
解決策 1
--esm
オプションをつけて実行する
npx ts-node --esm src/index.ts
解決策 2
tsconfig.json
に以下の記述を追加する。
tsconfig.json
{
// other settings...
"ts-node": {
"esm": true,
"experimentalSpecifierResolution": "node"
}
}