mod vue2 to vue3
This commit is contained in:
@@ -1,23 +1,16 @@
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import { createStore } from 'vuex'
|
||||
import getters from './getters'
|
||||
|
||||
Vue.use(Vuex)
|
||||
// 动态导入所有 modules
|
||||
const modulesFiles = import.meta.glob('./modules/*.js', { eager: true })
|
||||
|
||||
// https://webpack.js.org/guides/dependency-management/#requirecontext
|
||||
const modulesFiles = require.context('./modules', true, /\.js$/)
|
||||
const modules = {}
|
||||
for (const path in modulesFiles) {
|
||||
const moduleName = path.replace(/(\.\/modules\/|\.js$)/g, '')
|
||||
modules[moduleName] = modulesFiles[path].default
|
||||
}
|
||||
|
||||
// you do not need `import app from './modules/app'`
|
||||
// it will auto require all vuex module from modules file
|
||||
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
|
||||
// set './app.js' => 'app'
|
||||
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
|
||||
const value = modulesFiles(modulePath)
|
||||
modules[moduleName] = value.default
|
||||
return modules
|
||||
}, {})
|
||||
|
||||
const store = new Vuex.Store({
|
||||
const store = createStore({
|
||||
modules,
|
||||
getters
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user