import Vue from'vue'import Vuex from'vuex'import getters from'./getters'
Vue.use(Vuex)// https://webpack.js.org/guides/dependency-management/#requirecontextconst modulesFiles = require.context('./modules',true,/\.js$/)//内嵌所有模块// you do not need `import app from './modules/app'`// it will auto require all vuex module from modules fileconst modules = modulesFiles.keys().reduce((modules, modulePath)=>{// set './app.js' => 'app'const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/,'$1')const value =modulesFiles(modulePath)
modules[moduleName]= value.defaultreturn modules
},{})//模块注册const store =newVuex.Store({
modules,
getters
})exportdefault store
main.js
import store from'./store'newVue({
el:'#app',
router,
store,
render: h =>h(App)})