vuex 封装modules的引入方法

在我们使用vuex的时候,项目太大会有很多modules要引入,所以我们封装一个方法来解决这个问题

首先我们把所有页面的store子模块创建在一个文件夹内

vuex 封装modules的引入方法

然后在主模块中封装方法  如下:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

let modulesFiles=require.context('./modules',true,/\.js$/) //获取modules文件下的所有js文件
let modules=modulesFiles.keys().reduce((module,modulePath)=>{ 
  const modulesName=modulePath.replace(/^\.\/(.+)\.js$/,"$1") //截取文件名
  const value=modulesFiles(modulePath)  //获取文件数据
  module[modulesName]=value.default  //把数据赋值给module
  return module
},{})


export default new Vuex.Store({
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules
})

 这样就会让我们轻松很多

 

 

 

上一篇:浏览器刷新恢复Vuex数据


下一篇:setup中如何使用mapState 批量导入Vuex中的数据