vuex 持久化插件 vuex-persistedstate
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue
免费下载资源
·
/** ** @/store/index.js ****/
import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate' // 【主要代码】
Vue.use(Vuex)
// 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: [createPersistedState()] // 【主要代码】
})
export default store
存在的问题
由于
localStorage
最多可以存储5MB
数据,如果store
中的数据过多,会导致报错。(可使用 reducer 过滤不需要存的 https://blog.csdn.net/qq_43340606/article/details/126020339)
import createPersistedState from 'vuex-persistedstate';
const store = new Vuex.Store({
// ...
plugins: [createPersistedState({
reducer(val) {
return {
// 只存储需要的状态,这里的key为需要存储的状态名
userInfo: val.userInfo,
// 其他不需要存储的状态可以不包含
};
}
})]
});
GitHub 加速计划 / vu / vue
82
16
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:4 个月前 )
9e887079
[skip ci] 2 个月前
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 6 个月前
更多推荐
已为社区贡献9条内容
所有评论(0)