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