プログラミングの用語一覧へ
このページの目次

ホットリロードとは?

読み方:ホットリロード

最終更新:2026/08/18

3秒でわかる

ソースを保存した瞬間、アプリを再起動せず変更部分だけを差し替える開発機能。画面の状態を保ったまま結果を確認できるので、試行錯誤の待ち時間がほぼ消えます。

もう少し詳しく

どういうものか

ホットリロードは、開発中にファイルを保存すると、変更されたモジュールだけを動いているアプリへ差し替えて反映する仕組みです。Vite や webpack では HMR(Hot Module Replacement)と呼ばれ、開発サーバーブラウザが WebSocket でつながっていて、更新されたモジュールだけを送り込みます。

肝は「アプリを止めない」ことです。ページを読み込み直すのではなく、動いているアプリの一部を入れ替えます。

なぜ必要か

価値の中心は速さそのものより、画面の状態が消えないことにあります。

たとえば入力フォームを 3 ページ分進めた先にあるモーダルの、ボタンの余白を 4px 詰めたいとします。全体を再読み込みする方式だと、保存のたびに状態が初期化され、ログインからやり直して同じ場所まで戻る作業が発生します。1 回 40 秒だとしても、微調整を 30 回繰り返せば 20 分が消えます。ホットリロードならモーダルは開いたまま、余白だけが変わります。

具体例

// Vite の HMR <a href="/glossary/api" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">API</a>。モジュールが差し替わる直前に後始末をする let timer = setInterval(() => console.log('tick'), 1000); if (import.meta.hot) { import.meta.hot.dispose(() => { clearInterval(timer); // これを書かないと差し替えのたびに timer が増える }); import.meta.hot.accept((newModule) => { console.log('このモジュールだけ差し替わりました', newModule); }); }
// <a href="/glossary/docker" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">Docker</a> やネットワーク越しのマウントで変更が検知されない場合 export default { server: { watch: { usePolling: true, interval: 300 }, }, };

つまずきやすいところ

保存しても反映されないときは、原因がだいたい三つに絞れます。編集したファイルがどこからも import されていない、変更内容が差し替えでは処理できずページ全体の再読み込みへ落ちている、コンテナのファイル共有でファイル変更の通知が届いていない、のいずれかです。三つ目はポーリング監視に切り替えると直ります。

React の Fast Refresh には固有の落とし穴があります。コンポーネントを無名のアロー関数のまま default export していると差し替え対象として認識されないことがあります。また useState の初期値を書き換えても、すでに保持されている state は残るため「コードを変えたのに変わらない」と見えます。これは不具合ではなく、状態を保つという仕様どおりの動きです。

似た用語との違い

用語動き状態
ホットリロード変わったモジュールだけ差し替え保たれる
ライブリロードページ全体を再読み込み消える
ホットデプロイ本番サーバーを止めずに新版へ入れ替え利用者の接続を保つ


覚え方

ホットは「熱いまま」、つまり動かしたまま。電源を切らずに部品だけ交換するイメージです。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地ホットリロードプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

Reactコースの全編を見る