!4 优化 vuex模块自动导入

Merge pull request !4 from kangert/master
This commit is contained in:
lyt-Top 2021-06-16 21:51:16 +08:00 committed by Gitee
commit 1ade90a114

View File

@ -1,24 +1,19 @@
import { InjectionKey } from 'vue'; import { InjectionKey } from 'vue';
import { createStore, useStore as baseUseStore, Store } from 'vuex'; import { createStore, useStore as baseUseStore, Store, ModuleTree } from 'vuex';
import { RootStateTypes } from '/@/store/interface/index'; import { RootStateTypes } from '/@/store/interface/index';
import themeConfig from '/@/store/modules/themeConfig.ts';
import routesList from '/@/store/modules/routesList.ts'; let modules: ModuleTree<object> = {}
import keepAliveNames from '/@/store/modules/keepAliveNames.ts'; const modulesFiles: Record<string, Function> = import.meta.glob('./modules/*.ts')
import tagsViewRoutes from '/@/store/modules/tagsViewRoutes.ts'; for (const path in modulesFiles) {
import userInfos from '/@/store/modules/userInfos.ts'; const moduleName: string = path.replace(/(.*\/)*([^.]+).*/gi, '$2')
import requestOldRoutes from '/@/store/modules/requestOldRoutes.ts'; let module: ModuleTree<object> = await modulesFiles[path]()
modules = { ...modules, [moduleName]:module.default}
}
export const key: InjectionKey<Store<RootStateTypes>> = Symbol(); export const key: InjectionKey<Store<RootStateTypes>> = Symbol();
export const store = createStore<RootStateTypes>({ export const store = createStore<RootStateTypes>({
modules: { modules
themeConfig,
routesList,
keepAliveNames,
tagsViewRoutes,
userInfos,
requestOldRoutes,
},
}); });
export function useStore() { export function useStore() {