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 が動かない場合は、パスがおかしい可能性があるそうです。