vuex 指定【模块】的state持久化(配置简,性能佳,体积小: gzip压缩之后 1238字节 ≈ 1.2kb)
- 修复ie9 ie10 报错问题
- 添加 ciphertext密文支持
- 添加 SS LS 支持数组 (每一个module要添加store中modules中)
- 添加 默认储存位置配置
- 支持 模块命名空间
$ npm install vue-savedata
$ yarn add vue-savedata
import createPersiste from 'vue-savedata'
// 默认全部持久化,你也可以通过一丢丢配置项,指定数据持久化
const store = new Vuex.Store({
// ...
plugins: [createPersiste()],
})
下列选项(默认保存store中的每个数据到本地 )
可以为您的特定需求配置插件: (参数都是可选的:有默认值)
saveName <String>
: 本地save的key 默认: savedataciphertext <Boolean>
: 是不是密文存本地(base64) 默认 falsemode <String>
: 默认存储模式(LS,SS配置不存在时有效) 默认: LSMMD <Number>
: 模块 深度合并, 深度值 默认:2(如果出现数据丢失可以尝试把这个开高一点)SS <Object> || <Array>
: { storePath: xx, module: xx } 注:storePath:(和Vuex中的option.modules:{key:value}的key,一,一对应)SL <Object> || <Array>
: { storePath: xx, module: xx } 同上, 支持多个模块,传入数组
import createPersiste from 'vue-savedata'
import module1 from './modules/module1'
import module2 from './modules/module2'
const persiste = createPersiste({
ciphertext: true, // 加密存本地, 默认为false
LS: {
module: module1,
storePath: 'module100' // __storePath:(和Vuex中的option.modules:{key:value}的key,一,一对应)__
},
SS: {
module: module2,
storePath: 'module2'
}
})
/**
*
* 数组 支持传入多个模块,相应,__storePath:和Vuex中的option.modules:{key:value}的key,一一对应__
* const persiste = createPersiste({
LS:[{
module: module1,
storePath: 'module100'
},...],
SS: [{
module: module2,
storePath: 'module2'
},...]
})
***/
const store = new Vuex.Store({
// ...
modules: {
module100: module1,
module2
},
plugins: [persiste],
})