Next.jsでwebpack5使うとHotReloadが動かなかった件
なぜか僕の環境だとNext.js
でwebpack5
を使うと HotReload がうまく動作しませんでした。
そのため、webpack5:false
にしてwebpack4
で build していたのですが、解消方法がようやく分かりました。
以下が参考になりました。
https://github.com/vercel/next.js/issues/22317#issuecomment-863752692
手順
.env
ファイルをプロジェクトのルートに配置します。(.env.local
でも OK)
以下の記述を追加します。
WATCHPACK_POLLING=true
これだけで OK です。
npm run dev
すれば、Hot Reload が上手く動作していると思います!
next のバージョンが問題?かもしれないので、一応以下のバージョンで動作確認しています。
"next": "^11.0.1"
build 時間
webpack5
で動作させること build すると build 時間が大きく変わりました。
私の環境だと、
- webpack4 → 58s
- webpack5 → 20s
となり、大体 1/3 ぐらいの時間で build できるようになりました。
まとめ
build の時間的にもwebpack5
は、かなり優れているなと思います。
同じように HotReload が動作しない方はお試しください!
※Hot Reload
からFast Refresh
に名前変わってるみたいですね・・・