index.js 627 B

1234567891011121314151617181920212223
  1. import Vue from "vue";
  2. import Vuex from "vuex";
  3. import getters from "./getters";
  4. Vue.use(Vuex);
  5. const modulesFiles = require.context("./modules", false, /\.js$/);
  6. // you do not need `import app from './modules/app'`
  7. // it will auto require all vuex module from modules file
  8. const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  9. // set './app.js' => 'app'
  10. const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, "$1");
  11. const value = modulesFiles(modulePath);
  12. modules[moduleName] = value.default;
  13. return modules;
  14. }, {});
  15. const store = new Vuex.Store({
  16. modules,
  17. getters
  18. });
  19. export default store;