vuex 封装modules的引入方法

2022-12-31 12:35:21

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

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

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

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
})

 这样就会让我们轻松很多

  • 作者:烟屁烫嘴
  • 原文链接:https://blog.csdn.net/muddled_/article/details/120295008
    更新时间:2022-12-31 12:35:21