【Vue.js】Piniaにも備わっているHMRが便利!

  • 2023年6月29日
  • 2023年6月29日
  • Vue.js

こんにちは。

野中康生です。

Piniaには、HMR(Hot Module Replacement)という機能が備わっているのですが、これが結構便利なので使っています。

HMRとは何か?

HMRとは、ブラウザの全ページリロードをせずに、更新したモジュールだけをリロードする機能のことです。PiniaのHMRは、状態を持つstoreが更新されたときに、そのstoreだけをリロードする機能が提供されています。これによって、アプリケーション全体をリロードすることなくstoreの更新を素早く確認することができます。

Piniaを使ったHMRの実装例

Piniaを使ってHMRは以下のように実装できます。

公式サイトでは、defineStore, acceptHMRUpdateをインポートしていますが、Nuxt3のautoImportsオプションを使えば、ファイルごとにインポートしなくても使うことができて便利です。

参考

Intuitive, type safe, light and flexible Store for Vue…