如何正确延迟加载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组件的页面上。

如何在一个文件中进行延迟加载?

nanaliv11 回答:如何正确延迟加载Vuex模块?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3166050.html

大家都在问