import Vue from 'vue'
import Vuex from 'vuex'
// import students from './modules/students'
// 通过require.context引入对应的文件,加载,可以省去我们引入并使用的过程
// 一下写法是固定,所有的项目里的modules的引入都是这样的
const modules = {}
const files = require.context('./modules', true, /\.js$/) // 引入对应的资源
// console.log(files.keys()) // [所有文件的路径]
// console.log(files(路径)) // 对应路径的文件的模块内容
files.keys().forEach(path => {
// path是一个 ./xxx.js
let module = files(path) // 获取到对应的模块的内容
module = module.default ? module.default : {} // 真实内容是.default,但是如果模块中什么都没写就没有default
// 给modules中设置模块名为文件名的名字(./文件名.js 所以要裁切一下) 把导入的内容作为文件名的对应的值
modules[path.slice(2, -3)] = {
namespaced: true,
...module
}
})
// console.log(modules)
Vue.use(Vuex)
export default new Vuex.Store({
state: {
},
mutations: {
},
actions: {
},
modules // 把最终生成的modules设置给modules
})
通过require.context引入对应的文件
最新推荐文章于 2023-08-09 17:41:55 发布