diff --git a/src/store/index.ts b/src/store/index.ts index 5d24318..714e26b 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -1,24 +1,19 @@ 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 themeConfig from '/@/store/modules/themeConfig.ts'; -import routesList from '/@/store/modules/routesList.ts'; -import keepAliveNames from '/@/store/modules/keepAliveNames.ts'; -import tagsViewRoutes from '/@/store/modules/tagsViewRoutes.ts'; -import userInfos from '/@/store/modules/userInfos.ts'; -import requestOldRoutes from '/@/store/modules/requestOldRoutes.ts'; + +let modules: ModuleTree = {} +const modulesFiles: Record = import.meta.glob('./modules/*.ts') +for (const path in modulesFiles) { + const moduleName: string = path.replace(/(.*\/)*([^.]+).*/gi, '$2') + let module: ModuleTree = await modulesFiles[path]() + modules = { ...modules, [moduleName]:module.default} +} export const key: InjectionKey> = Symbol(); export const store = createStore({ - modules: { - themeConfig, - routesList, - keepAliveNames, - tagsViewRoutes, - userInfos, - requestOldRoutes, - }, + modules }); export function useStore() {