HMR (Sustitución de módulos en caliente)
Pinia soporta el reemplazo de módulos en caliente para que puedas editar tus almacenes e interactuar con ellas directamente en tu aplicación sin recargar la página, permitiéndote mantener el estado existente, añadir o incluso eliminar estados, acciones y getters.
Por el momento, sólo Vite está oficialmente soportado, pero cualquier bundler que implemente la especificación i
debería funcionar (por ejemplo, webpack parece utilizar i
en lugar de i
). Debes añadir este fragmento de código junto a cualquier declaración de almacén. Digamos que tienes tres almacenes: auth.js
, cart.js
, y chat.js
, tendrás que añadir (y adaptar) esto después de la creación de la definición del almacén:
js
// auth.js
import { defineStore, acceptHMRUpdate } from 'pinia'
const useAuth = defineStore('auth', {
// opciones...
})
// asegúrate de pasar la definición del almacén correcto, `useAuth` en este caso.
if (import.meta.hot) {
import.meta.hot.accept(acceptHMRUpdate(useAuth, import.meta.hot))
}
// auth.js
import { defineStore, acceptHMRUpdate } from 'pinia'
const useAuth = defineStore('auth', {
// opciones...
})
// asegúrate de pasar la definición del almacén correcto, `useAuth` en este caso.
if (import.meta.hot) {
import.meta.hot.accept(acceptHMRUpdate(useAuth, import.meta.hot))
}