From 6a176cf78a571e66b428743c35063ec348d250e6 Mon Sep 17 00:00:00 2001 From: kangert Date: Wed, 16 Jun 2021 17:32:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20vuex=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/index.ts | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) 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() {