わたしがあまりHMR(Hot Module Replacement)を好まない理由

JavaScriptニュービーです。ニュービーなので界隈のHMRに対する評価がどんな感じなのかよくわかっていないのですが、個人的には採用しない理由のほうが多いと感じています。

というのも、「開発効率がちょっとよくなる」というメリットに対して、

  • HMRに対応するために、ユーザーが触るプロダクション環境には関係ないコードを書かなければいけない
  • プロダクション環境で起こり得ないことが起こる仕組みが開発時にのみ入ってくる

というコストを支払う価値が高すぎると思っているからです(あと、リロードで壊れないSPAを作るためには意外とHMR入れてても開発時にリロードする気がする)。

単純にわたしがHMRよく理解できてない or 知識が古い可能性もあるのでその場合は教えてください。