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', true, /\.js$/)
    6. const modules = modulesFiles.keys().reduce((modules, modulePath) => {
    7. // set './app.js' => 'app'
    8. const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
    9. const value = modulesFiles(modulePath)
    10. modules[moduleName] = value.default
    11. return modules
    12. }, {})
    13. export default new Vuex.Store({
    14. getters,
    15. modules
    16. })

    modules
    image.png
    目录结构
    image.png
    使用模块中的方法

    1. 在方法前面加上模块名
    2. await this.$store.dispatch('user/logout')