1つのTypeScriptファイルのみを実行するために、package.json+node_modulesの組み合わせは少々煩雑でしょう。今日いくつかコマンドラインでTypeScriptファイルを実装できる方法をまとめてみます。
npx ts-node
typescript
に依存します。8.0以降のバージョンであれば、npxで実行するとき、グローバルのtypescriptではなく、ローカル(同じフォルダ)のtypescriptを参照するようになりました。
なので、比較的にきれいなやり方は下記のようになるでしょう。
# グローバルのtypescriptのインストール
npm i -g typescript
# 実行フォルダにSymbolic Linkを作成
npm link typescript
# ts-nodeで実行
npx ts-node test.ts
deno(おすすめ)
1.6以降のdenoであれば、watchモードも使えるので、かなりやばいです。
# denoをインストール
curl -fsSL https://deno.land/x/install/install.sh | sh
# denoで実行
deno run --unstable --watch test.ts
グローバルのts-node
あまりグローバルのts-nodeをインストールする意味が薄いですが、一応。
# ts-nodeとtypescriptをグローバルでインストール
npm i -g typescript ts-node
ts-node test.ts
トラブルシューティング
npx ts-node test.ts
で実行すると、下記のエラーになります。
npx: 9個のパッケージを1.416秒でインストールしました。
Cannot find module 'typescript'
原因。 globalのtypescriptをインストールしたが、ローカル(同じ)のtypescriptを参照できないからなのです。
解決方法。
# 実行フォルダにSymblic Linkを作成
npm link typescript
完了
ご参考まで!では。