vue2 vuex modules正则匹配

102 阅读1分钟

vuex 的 store-》index.js里面每次写modules的时候写一个文件就必须引入一个文件,用下面的这段正则后就可以直接匹配不用在引入了

import { createStore } from 'vuex'
import getters from './getters'

/*这里的正则匹配秀一脸*/
const modulesFiles = require.context('./modules', 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
}, {})
// 测试匹配的文件数据
console.log(modules)


export default createStore({
  getters,
  modules
})

如想看更详细代码或想学习vite和vue3.2+请移步: tw-vue-vite: 一个基于vue3.2(全家桶)+ vite + elementplus的系统集成架构 (gitee.com)