vuex实现模块式开发如果项目过大,组件过多,接口也很多,数据也很多,可以让Vuex实现模块式开发,就是把大仓库拆分成很多的小仓库进行存储在store文件下新建很多个需要的文件,
store/modules/home/index.js(小仓库)
//home模块的小仓库
const state ={};
const mutations ={};
const actions ={};
const getters ={};
export default {
state,
mutations,
actions,
getters
}
store/index.js(大仓库)
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const modulesFiles = require.context('./module', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
const value = modulesFiles(modulePath)
modules[moduleName] = value.default
return modules
}, {})
export default new Vuex.Store({
modules
})