十分にビルドが速ければ watch やライブリロードは不要な存在なのか
webpack-dev-server に代表されるライブリロード(あるいはホットリロード、HMR)のような機構はなんのために必要なのか、という話
厳密にはブラウザがリロードされない HMR(Hot Module Replacement)と、ファイル変更を検知してブラウザをリロードする仕組みと、リロードすら行わない watch(webpack watch)のような違いはある
が、ここではそれらを同じものの「程度問題」として論じていく
こうした仕組みが必要になる理由として、「毎回ビルドコマンドを実行してブラウザをリロードするのは面倒だから」と言われることがある
しかしそうだとすると、watch や HMR のような機能は「コンパイルの遅さを回避する(もっと言えばごまかす)ための機能」ということになってしまう
そうすると十分にビルド速度が上がれば、これらの機能は不要になるということになるはずだが、本当か?
考えられる立場
不要派
設定がシンプルになるよ派
全部 esbuild でいいよ派
HMR のための webpack.config.js の設定がダルいよ派
フロントエンドを書くときに「開発用のサーバー」という存在を考えたくない派(websocket とかね)
ビルドに無駄があるのを解決すべきだよ派
必要派
HMR だけ必要だよ派
input の状態が保たれたままコードだけ更新される HMR には単なる watch を超えた価値があるよ派
watch も必要だよ派
保存ボタンを押したあとビルドの実行を押すこと自体がダルいよ派