programing

Vuex 모듈을 올바르게 로드하는 방법

prostudy 2022. 4. 16. 09:44
반응형

Vuex 모듈을 올바르게 로드하는 방법

나는 그것들을 이런 식으로 등록하려고 노력한다.
전화할 때store.state['CHAT_BASE'].someData정의되지 않은 값을 얻으려다 오류를 던지다
정적 수입으로 모든 것이 작동한다.

vuex 파일

import Vue from 'vue';
import Vuex from 'vuex';
import createLogger from 'vuex/dist/logger';

Vue.use(Vuex);

const enableLogger = false, /* You can do this: process.env.NODE_ENV !== 'production' */
    store = new Vuex.Store({
        strict: false,
        plugins: enableLogger ? [createLogger()] : [],
        modules: {
            COMMON: () => import('./modules/common'),

            /* Operators cabinet. */
            RMS_REQUESTS: () => import('./modules/rms/operators_cabinet/requests'),

            /* Request tree. */
            RMS_PROCESS_DATA: () => import('./modules/rms/request_tree/process_data'),
            RMS_FIELDS: () => import('./modules/rms/request_tree/fields'),
            RMS_STATUSES: () => import('./modules/rms/request_tree/statuses'),

            /* Chat. */
            CHAT_COMMON: () => import('./modules/chat/common'),
            CHAT_BASE: () => import('./modules/chat/base'),
            CHAT_MESSAGE: () => import('./modules/chat/message'),
            CHAT_SETTING: () => import('./modules/chat/setting'),
            CHAT_HISTORY: () => import('./modules/chat/history')
        }
    });

export default store;

그리고 이렇게 노력했다.

import('./modules/chat/base.js')
      .then(module=> {
           store.registerModule('CHAT_BASE', module.default);
      });

그러나 이 경우 모듈이 필요하지 않은 경우에도 모듈이 로드된다.Vue 구성 요소가 로드되지 않는 페이지.

한 파일에 게으르게 로드하는 방법?

참조URL: https://stackoverflow.com/questions/58695350/how-to-make-lazy-loading-of-vuex-modules-correctly

반응형