HTML5中Vuex持久化插件中WebStorage的底层配置

张开发
2026/4/16 23:57:32 15 分钟阅读

分享文章

HTML5中Vuex持久化插件中WebStorage的底层配置
Vuex 持久化依赖插件如 vuex-persistedstate底层调用 localStorage/sessionStorage 或自定义 storage通过 key、paths 控制存储键名与字段JSON 序列化限制数据类型reducer 可过滤敏感信息或动态控制持久化逻辑。Vue 项目中使用 Vuex 持久化如 vuex-persistedstate时WebStorage 的底层配置本质是通过 localStorage 或 sessionStorage API 实现数据的序列化存储与恢复并非 Vuex 自带功能而是插件在初始化和状态变更时主动调用浏览器原生存储接口。storage 参数决定实际使用的 WebStorage 实例插件通过 storage 选项指定底层存储对象默认为 window.localStorage。你可以显式传入storage: localStorage —— 持久保存关闭标签页也不丢失 storage: sessionStorage —— 仅当前会话有效页面刷新保留关闭标签页即清空 storage: customStore —— 自定义对象需实现 getItem、setItem、removeItem 方法例如封装加密逻辑或 fallback 到 IndexedDBkey 和 paths 控制存储粒度与命名空间key 是写入 WebStorage 时使用的键名默认为 vuexpaths 指定哪些 state 字段需要持久化支持点号路径如 [user.token, cart.items]。未列入 paths 的字段不会被序列化保存即使在 storage 中存在旧值也不会自动还原。序列化依赖 JSON.stringify / JSON.parse不支持函数、Symbol、undefined 等类型插件默认使用 JSON.stringify 将 state 转为字符串存入 storage还原时用 JSON.parse。这意味着 Mokker AI AI产品图添加背景

更多文章