目錄
內(nèi)容
1. 背景
項(xiàng)目中覆劈,經(jīng)常有持久化(存儲(chǔ))數(shù)據(jù)的需要戴卜,在前端中爸吮,常用的方案就是 Storage(如:localStorage蹋艺、sessionStorage) 和 cookie驱犹;然后它們各有優(yōu)缺點(diǎn)鸵贬,如:
Storage(相對(duì) cookie 而言)
-
優(yōu)點(diǎn):
- 易保存 和 獲冉畔摺;
- 存儲(chǔ)容量大例隆;
-
缺點(diǎn):
- 不支持設(shè)置有效期
cookie(相對(duì) Storage 而言)
-
缺點(diǎn):
- 保存 和 獲取的操作太麻煩甥捺;
- 存儲(chǔ)容量小镀层;
-
優(yōu)點(diǎn):
- 支持設(shè)置有效期镰禾;
為了前端世界不再那么令人糾結(jié),于是 StorageData 誕生了3辍N庹臁!
2. 簡介
StorageData 是一個(gè)用于自動(dòng)存儲(chǔ)數(shù)據(jù)坞古,并且可以指定數(shù)據(jù)有效期的工具备韧;它更像是 cookie 和 Storage(如:localStorage、sessionStorage)的結(jié)合痪枫;
具有以下特性:
- 在程序中以普通對(duì)像的方式操作數(shù)據(jù)织堂;(易操作)
- 數(shù)據(jù)被修改后,會(huì)自動(dòng)存儲(chǔ)到指定的 Storage(如:localStorage奶陈、sessionStorage)中易阳;(存儲(chǔ)容量大)
- 可以給數(shù)據(jù)指定有效期,如:指定多長時(shí)間后失效 或 指定到某一具體日期后失效吃粒;(支持有效期)
- 可對(duì)保存做節(jié)流設(shè)置潦俺;
- 可以監(jiān)聽數(shù)據(jù)更改;
- 可以攔截?cái)?shù)據(jù)變更;
- 可以監(jiān)聽存儲(chǔ)操作黑竞;
- 可以攔截存儲(chǔ)操作;
- 兼容 瀏覽器 與 node疏旨;
詳情請看:
如果您在使用的過程中遇到了問題很魂,或者有好的建議和想法,您都可以通過以下方式聯(lián)系我檐涝,期待與您的交流:
- 給該倉庫提交 issues
- 給我 Pull requests
- 郵箱:guobinyong@qq.com
3. 安裝方式
目前遏匆,安裝方式有以下幾種:
3.1. 方式1:通過 npm 安裝
npm install --save-prod storage-data
3.2. 方式2:直接下載原代碼
您可直接從項(xiàng)目的 發(fā)行地址 下載 源碼 或 構(gòu)建后包文件;
您可以直接把 源碼 或 構(gòu)建后 的包拷貝到您的項(xiàng)目中去谁榜;然后使用如下代碼在您的項(xiàng)目中引入 StorageData
:
import { createStorageData } from "path/to/package/storage-data";
或者
import createStorageData from "path/to/package/storage-data";
3.3. 方式3:通過<script>
標(biāo)簽引入
您可直接從項(xiàng)目的 發(fā)行地址 中下載以 .iife.js
作為綴的文件幅聘,然后使用如下代碼引用 和 使用 storage-data:
-
引用 storage-data
<script src="path/to/package/storage-data.iife.js"></script>
-
使用全局的
createStorageData()
<script> // 使用全局的 StorageData const sd = StorageData.createStorageData(localStorage,"logInfo"); </script>
4. 教程
詳情跳轉(zhuǎn)至教程
5. API接口文檔
詳情跳轉(zhuǎn)至API接口文檔