Vuex модули состояния не обновляется на горячей перезагрузки

голоса
0

У меня есть установки горячей перезарядка и динамической загрузка моих vuex модулей.

store.js файл - горячий раздел Обновления

if (module.hot) {
  // accept actions and mutations as hot modulesLoader
  module.hot.accept([
    './store/modules/index.js',
    './store/helpers/global-actions',
    './store/helpers/global-mutations',
    ...modulePaths,
    // './store/helpers/global-actions',
  ], () => {
    let newModules = require('./store/modules').modules
    store.hotUpdate({
      actions: require('./store/helpers/global-actions'),
      mutations: require('./store/helpers/global-mutations'),
      modules: newModules,
    })
  })
}

Модули / index.js файл

const requireModule = require.context('.', true, /index.js$/)
const modules = {}
const modulePaths = []

requireModule.keys().forEach(fileName => {
  if (fileName === './index.js') {
    modulePaths.push(fileName.replace('./', './store/modules/'))
    return
  } else {
    let moduleName = fileName.match(/(?<=\/)\w*(?=\/)/g)[0]
    modulePaths.push(fileName.replace('./', './store/modules/'))
    modules[moduleName] =
      {
        namespaced: false,
        ...requireModule(fileName),
      }
  }
})

export {modulePaths, modules}

В основном то, что делает этот код загружается папки с index.js файла в качестве модулей (где имя модуля FOLDERNAME) динамически.

Если я обновлю действие модуля или добытчик или мутацию, все работает как я получаю новые действия добавлены для хранения, а также мутация, когда любые из модулей обновляются.

Единственное, что я не могу работать, чтобы получить модули изменения состояния на обновление. Так что, если я изменю модули состояния не будет отражаться. Это нормальное поведение? Или я делаю что-то не так?

Задан 27/11/2018 в 15:01
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more