Blame view

store/index.js 796 Bytes
290144e9   易尊强   第一次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  import Vue from 'vue'
  import Vuex from 'vuex'
  import getters from './getters'
  
  Vue.use(Vuex)
  
  /* 简化import引入 require.context(directory, useSubdirectories, regExp)directory: 要查找的文件路径
  useSubdirectories: 是否查找子目录
  regExp: 要匹配文件的正则*/
  const modulesFiles = require.context('./modules', true, /\.js$/)
  
  // you do not need `import app from './modules/app'`
  // it will auto require all vuex module from modules file
  const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  	// set './app.js' => 'app'
  	const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
  	const value = modulesFiles(modulePath)
  	modules[moduleName] = value.default
  	return modules
  }, {})
  
  const store = new Vuex.Store({
  	modules,
  	getters
  })
  
  export default store