TypeScript開発の必須アイテム! tsc –watchモード完全ガイド

TypeScriptでコーディングする際、変更内容を確認するために毎回ターミナルにtscと入力していませんか?

もしそうなら、今日のこの記事を読んだ後、あなたは全く新しい世界に出会うでしょう! 😉


1. –watchフラグとは何ですか? 🤔

基本的にtscコマンドを実行すると、TypeScriptコンパイラはプロジェクト内のソースファイルを一度スキャンしてJavaScriptファイルに変換した後、終了します。

しかし、–watch(または短縮形の-w)フラグを付けると状況が変わります。

  • 継続的な監視: コンパイラは終了せず、プロセスを維持します。
  • ファイル変更の検出: プロジェクト内のファイルが保存(Save)される瞬間をリアルタイムで検出します。
  • 増分コンパイル: 変更された部分だけを素早く再コンパイルし、結果を更新します。

2. なぜ–watchを使用すべきですか? ✨

この機能を使用することで得られる利点は明確です。

  1. 開発速度の向上(DX): 「コード修正 → 保存 → ターミナル移動 → tsc入力 → 結果確認」という反復的なプロセスから中間段階がなくなります。
  2. リアルタイムエラーフィードバック: コードを記述するとすぐに、構文エラーや型エラーがターミナルに直接表示されます。まるでリアルタイムのスペルチェッカーのようです! ✍️
  3. 効率的なリソース使用: すべてのファイルを最初から読み直すのではなく、変更された部分と関連するファイルのみを処理するため、大規模プロジェクトでははるかに高速です。

3. どのように使用しますか? 🛠️

使い方は非常に簡単です。ターミナルに次のように入力してみてください。

# 特定のファイル一つだけを監視する場合
tsc index.ts --watch

# プロジェクト全体(tsconfig.json基準)を監視する場合
tsc --watch

コマンドを実行すると、ターミナルに「Starting compilation in watch mode…」というメッセージが表示され、監視モードが開始されます。これで、エディタ(VS Codeなど)でコードを修正し、Ctrl + Sを押すたびに自動的にコンパイルが実行されます。 ✅


4. tsconfig.jsonと組み合わせて使用する ⚙️

通常、実際のプロジェクトでは設定ファイルであるtsconfig.jsonを使用します。このとき、watchOptionsという設定を通じて、より細かく制御できます。

{
  "compilerOptions": {
    "outDir": "./dist",
    "rootDir": "./src"
  },
  "watchOptions": {
    "watchFile": "useFsEvents",       // ファイル監視方法の設定
    "watchDirectory": "useFsEvents", // ディレクトリ監視方法の設定
    "fallbackPolling": "dynamicPriority" // システムリソース不足時のポーリング方式
  }
}

ヒント: ほとんどの場合、デフォルト設定だけでも十分にうまく機能します!


5. 実践的なヒント: Nodemonとの組み合わせ 🍯

tsc –watchはJavaScriptファイルを生成するだけで、ファイルを自動的に実行はしません。このとき、nodemonやts-node-devのようなツールを一緒に使用すると、「コード修正 → コンパイル → サーバー再起動」が一度に起こる魔法を体験できます。

推奨ワークフロー:

>

1. 一つのターミナルウィンドウでtsc –watchを起動しておきます。

2. 別のターミナルウィンドウで、生成されたdist/index.jsを実行するnodemonを起動します。


6. 終わりに 🏁

–watchフラグは単なるオプションではなく、TypeScript開発者の生産性を決定づける重要なツールです。まだ使用したことがない場合は、今日すぐにターミナルに-wの一文字を追加してみてください。あなたの開発体験がはるかに快適になるでしょう! 😊


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です