programing

무중단 새로고침 시 Vuex 모듈 상태가 업데이트되지 않음

itsource 2022. 11. 23. 20:59
반응형

무중단 새로고침 시 Vuex 모듈 상태가 업데이트되지 않음

vuex 모듈의 핫 새로고침 및 동적 로드를 설정했습니다.

store.file - hot update 섹션

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

modules/index.filename 파일

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 파일이 있는 폴더를 모듈(모듈명은 폴더명)로 동적으로 로드합니다.

모듈 동작, 게터 또는 돌연변이를 업데이트하면 모듈 중 하나가 업데이트될 때 돌연변이와 함께 저장에 새로운 동작이 추가됩니다.

업데이트 시 모듈 상태를 변경할 수 있는 유일한 방법이 없습니다.모듈 상태를 변경해도 반영되지 않습니다.정상적인 행동입니까?아니면 제가 뭘 잘못했나요?

언급URL : https://stackoverflow.com/questions/53502467/vuex-modules-state-is-not-updating-on-hot-reload

반응형