From b1a38bce3caaaed7eae9861e53f4c645ba631855 Mon Sep 17 00:00:00 2001 From: lbwa Date: Sat, 29 Feb 2020 19:58:29 +0800 Subject: [PATCH] feat(store): import store module automatically --- src/store/modules/index.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/store/modules/index.ts b/src/store/modules/index.ts index 560842e..6bd3280 100644 --- a/src/store/modules/index.ts +++ b/src/store/modules/index.ts @@ -1,5 +1,16 @@ -import history from './history' +import { Module } from 'vuex' +import { RootState } from '..' -export default { - history -} +const requireStoreModule = require.context( + '.', + false, + /^\.\/(?!index)\w+\.(t|j)s/ // match all ts file without index.ts +) + +export default requireStoreModule.keys().reduce((map, current) => { + const [, moduleName] = /\.\/([\w-]+)\.ts/.exec(current) || [] + if (!map[moduleName]) { + map[moduleName] = requireStoreModule(current).default + } + return map +}, {} as Record>)