module.hot

import Vuex from 'vuex'

import defaultState from './state/state'
import mutations from './mutations/mutations'
import getters from './getters/getters'
import actions from './actions/actions'

const isDev = process.env.NODE_ENV === 'develpment';
export default () => {
  const store =  new Vuex.Store({
    strict: isDev , // 规范开发,禁止在非mutations内修改data的数据,正式环境改为false
    state: defaultState,
    mutations,
    getters,
    actions,
  })
  if(module.hot){
    module.hot.accept([
      './state/state',
      './mutations/mutations',
      './actions/actions',
      './getters/getters'
    ], ()=> {
      const  newState =require('./state/state').default;
      const  newmutations =require('./mutations/mutations').default;
      const  newActions =require('./actions/actions').default;
      const  newGetters =require('./getters/getters').default;

      // 热更新
      store.hotUpdate({
        state:newState,
        mutations:newmutations,
        getters:newActions,
        actions:newGetters,
      })
    })
  }
  return store
}

  

原文地址:https://www.cnblogs.com/joer717/p/11303025.html