1234567891011121314151617181920212223242526272829303132333435 |
- import Vue from "vue";
- import Vuex from "vuex";
- import createPersistedState from 'vuex-persistedstate' // 引入数据持久化插件
- Vue.use(Vuex)
- // 把modules文件下的 js文件返回出来
- // https://webpack.js.org/guides/dependency-management/#requirecontext
- const modulesFiles = require.context('./modules', true, /\.js$/)
- // 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({
- modules,
- // plugins 插件配置
- plugins: [
- createPersistedState({
- // paths: ['token', 'userId'],
- storage: { // 存储方式定义
- getItem: (key) => uni.getStorageSync(key), // 获取
- setItem: (key, value) => uni.setStorageSync(key, value), // 存储
- removeItem: (key) => uni.removeStorageSync(key) // 删除
- }
- })
- ]
- })
- export default store
|