hot-reload.md 933 B

Hot Reloading

Vuex supports hot-reloading actions and mutations during development, using Webpack's Hot Module Replacement API. You can also use it in Browserify with the browserify-hmr plugin.

It's as simple as calling vuex.hotUpdate() with the new actions and mutations:

// ...
const vuex = new Vuex({
  state,
  actions,
  mutations
})

if (module.hot) {
  // accept actions and mutations as hot modules
  module.hot.accept(['./actions', './mutations'], () => {
    // require the updated modules
    // have to add .default here due to babel 6 module output
    const newActions = require('./actions').default
    const newMutations = require('./mutations').default
    // swap in the new actions and mutations
    vuex.hotUpdate({
      actions: newActions,
      mutations: newMutations
    })
  })
}