HMR (Hot Module Replacement)
Pinia 支持热模块替换,因此您可以直接在您的应用程序中编辑您的商店并与它们进行交互,而无需重新加载页面,从而允许您保留现有状态、添加甚至删除状态、操作和 getter。
目前,只有 Vite 得到官方支持,但任何实现 i
规范的打包程序都应该可以工作(例如 webpack似乎使用 i
而不是 i
)。 您需要在任何商店声明旁边添加这段代码。 假设您有 3 个商店:auth.js
、cart.js
和 chat.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
2
3
4
5
6
7
8
9
10
11