Skip to content
En esta página

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 import.meta.hot debería funcionar (por ejemplo, webpack parece utilizar import.meta.webpackHot en lugar de import.meta.hot). 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))
}

Lanzado bajo la Licencia MIT.