Skip to content
On this page

HMR (Hot Module Replacement)

Pinia は Hot Module replacement ã‚ĩポãƒŧトしãĻいるぎで、ペãƒŧジを再čĒ­ãŋčžŧãŋすることãĒく、ã‚ĸプãƒĒå†…ã§į›´æŽĨ゚トã‚ĸã‚’įˇ¨é›†ã—ãĻ操äŊœã§ããžã™ã€‚æ—ĸ存ぎ゚テãƒŧトをįļ­æŒã—、゚テãƒŧト、ã‚ĸã‚¯ã‚ˇãƒ§ãƒŗã€ã‚˛ãƒƒã‚ŋãƒŧをčŋŊ加、ぞたは削除することも可čƒŊです。

įžæ™‚į‚šã§ã¯ Vite ぎãŋがå…ŦåŧãĢã‚ĩポãƒŧトされãĻいぞすが、import.meta.hot ä앿§˜ã‚’åŽŸčŖ…ã—ãŸãƒãƒŗãƒ‰ãƒŠãƒŧであれば動äŊœã™ã‚‹ã¯ãšã§ã™īŧˆäž‹: webpack は import.meta.hot ぎäģŖã‚ã‚ŠãĢ import.meta.webpackHot をäŊŋãŖãĻいるようですīŧ‰ã€‚ ã“ãŽã‚ŗãƒŧド゚ニペットは、äģģæ„ãŽã‚šãƒˆã‚ĸãŽåŽŖč¨€ãŽæŦĄãĢčŋŊ加するåŋ…čĻãŒã‚ã‚Šãžã™ã€‚äž‹ãˆã°ã€auth.js、cart.js、chat.js ぎ 3 つぎ゚トã‚ĸがあるとすると、゚トã‚ĸåŽšįžŠãŽäŊœæˆåžŒãĢこれをčŋŊ加īŧˆãŠã‚ˆãŗéŠåŋœīŧ‰ã™ã‚‹åŋ…čĻãŒã‚ã‚Šãžã™:

js
// 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))
}
// 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))
}

Released under the MIT License.