webpack の watch(ホットリロード)が動かない場合の対処法

目次

結論

// webpack.config.js
module.exports = {
  //...
  watchOptions: {
    ignored: /node_modules/,
    poll: 5000  // 5秒ごとにチェック
  },
  //...
};

具体的な watchOptions.poll の数値(何ミリ秒ごとに polling するか)については cpu の負荷と相談して決めてください。

説明

VirtualBox、WSL、Docker などで watch が動かない場合は、polling させると良いらしいです(私の場合、WSL2が駄目だったっぽい)。

このとき、負荷軽減のために /node_modules/ などの不要なディレクトリを除外しておきましょう。

参考

https://zenn.dev/kazukisako/articles/kp3gfjsvvjab (以下のリンクはこの記事にあったものです、感謝)

https://github.com/webpack/webpack/issues/2949#issuecomment-279348745

https://webpack.js.org/configuration/watch/#watchoptionspoll(公式)

Windows の場合

ちなみに、Windows で watch が動かない場合は、パスがおかしい可能性があるそうです。

https://qiita.com/ryohey/items/3e664b467309e5cd34e9

fiore
fiore

自称C++er。