vue-savedata

2.0.6 • Public • Published

vue-savedata

Build Status codecov

vuex 指定【模块】的state持久化(配置简,性能佳,体积小: gzip压缩之后 1238字节 ≈ 1.2kb) ## updata 2.x

  • 添加 ciphertext密文支持
  • 添加 SS LS 支持数组 (每一个module要添加store中modules中)
  • 添加 默认储存位置配置
  • 支持 模块命名空间

Requirements

Installation

$ npm install vue-savedata
$ yarn add vue-savedata

Usage

import createPersiste from 'vue-savedata'
// 默认全部持久化,你也可以通过一丢丢配置项,指定数据持久化
const store = new Vuex.Store({
  // ...
  plugins: [createPersiste()],
})

API

createPersiste([options])

下列选项(默认保存store中的每个数据到本地 )

温馨提示: LS即Localstorage本地存储, SS即sessionStorage本地存储, LS、SS可同时使用,也可单独使用 )

可以为您的特定需求配置插件: (参数都是可选的:有默认值)

  • saveName <String>: 本地save的key 默认: savedata
  • ciphertext <Boolean>: 是不是密文存本地(base64) 默认 false
  • mode <String>: 默认存储模式(LS,SS配置不存在时有效) 默认: LS
  • MMD <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],
})

Package Sidebar

Install

npm i vue-savedata

Weekly Downloads

68

Version

2.0.6

License

ISC

Unpacked Size

36.4 kB

Total Files

19

Last publish

Collaborators

  • banlangen