Skip to content
目录导航

HMR (Hot Module Replacement)

Pinia 支持热模块替换,因此您可以直接在您的应用程序中编辑您的商店并与它们进行交互,而无需重新加载页面,从而允许您保留现有状态、添加甚至删除状态、操作和 getter。

目前,只有 Vite 得到官方支持,但任何实现 import.meta.hot 规范的打包程序都应该可以工作(例如 webpack似乎使用 import.meta.webpackHot 而不是 import.meta.hot)。 您需要在任何商店声明旁边添加这段代码。 假设您有 3 个商店:auth.jscart.jschat.js,您必须在创建 store 定义 之后添加(并调整)它:

js
// auth.js
import { defineStore, acceptHMRUpdate } from 'pinia'

const useAuth = defineStore('auth', {
  // options...
})

// 确保传递正确的商店定义,在这种情况下是`useAuth`。
if (import.meta.hot) {
  import.meta.hot.accept(acceptHMRUpdate(useAuth, import.meta.hot))
}
1
2
3
4
5
6
7
8
9
10
11