tscとts-nodeの主な違い

に公開

tsc (TypeScript Compiler)

  • TypeScriptファイルをJavaScriptファイルにコンパイルするツール
  • 実行すると.tsファイルから.jsファイルが生成される
  • コンパイル後、生成されたJavaScriptファイルをnodeコマンドで実行する必要がある
    例:
  tsc src/index.ts  # index.jsが生成される
  node src/index.js # 生成されたJSファイルを実行

生成されたJSファイルを実行

ts-node

  • TypeScriptファイルを直接実行できるツール
  • 内部的にコンパイルと実行を同時に行う
  • 一時的なJavaScriptファイルは生成されるが、ユーザーには見えない
  • 開発時に便利で、コンパイルと実行を1つのコマンドで行える
    例:
  ts-node src/index.ts  # コンパイルと実行を同時に行う

使い分け:

  • 開発時やテスト時はts-nodeが便利(コンパイルと実行が1ステップ)
  • 本番環境用のビルドや、コンパイル後のJSファイルを直接使用したい場合はtscを使う
  • ts-nodeは実行時にコンパイルを行うため、tscと比べて若干実行速度が遅くなる

Discussion