index.js 906 B

1234567891011121314151617181920212223242526272829303132
  1. // 组装模块并导出store的文件
  2. import Vue from 'vue' // 引入vue
  3. import Vuex from 'vuex' // 引入vuex
  4. import getters from './getters' // 根级别的 getters
  5. Vue.use(Vuex)
  6. // 不再需要 `import xxx from './modules/xxx `,会自动从modules导入所有的vuex模块
  7. const modulesFiles = require.context('./modules', true, /\.js$/)
  8. const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  9. const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1') // 获取文件名,例如 './app.js' => 'app'
  10. const value = modulesFiles(modulePath)
  11. modules[moduleName] = value.default
  12. return modules
  13. }, {})
  14. const store = new Vuex.Store({
  15. state:{
  16. themecolor: '00a598'//默认为20a0ff
  17. },
  18. mutations:{
  19. //更新主题颜色
  20. setThemeColor(state,curcolor){
  21. this.state.themecolor = curcolor;
  22. }
  23. },
  24. modules,
  25. getters,
  26. })
  27. export default store // 导出store