4.2. 模块热更新(HMR)
这是一篇协同翻译的文章,你可以点击『我来翻译』按钮来参与翻译。
翻译时请参照官方英文原版文档。
HMR (Hot Module Replacement)
Pinia supports Hot Module replacement so you can edit your stores and interact with them directly in your app without reloading the page, allowing you to keep the existing state, add, or even remove state, actions, and getters.
At the moment, only Vite is officially supported but any bundler implementing the import.meta.hot
spec should work (e.g. webpack seems to use import.meta.webpackHot
instead of import.meta.hot
).
You need to add this snippet of code next to any store declaration. Let's say you have three stores: auth.js
, cart.js
, and chat.js
, you will have to add (and adapt) this after the creation of the store definition:
// auth.js
import { defineStore, acceptHMRUpdate } from 'pinia'
const useAuth = defineStore('auth', {
// options...
})
// make sure to pass the right store definition, `useAuth` in this case.
if (import.meta.hot) {
import.meta.hot.accept(acceptHMRUpdate(useAuth, import.meta.hot))
}
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: