@ng-mfe/storage
v0.1.1
Published
LocalStorage/SessionStorage abstraction with TTL and serialization
Readme
@ng-mfe/storage
存储服务 — 统一封装 localStorage/sessionStorage,支持前缀隔离、TTL 过期与变更监听。
安装
npm install @ng-mfe/storage用法
import { StorageService } from '@ng-mfe/storage';
const storage = new StorageService({ prefix: 'myapp' });
// 基本读写
storage.set('token', 'abc123');
storage.get<string>('token'); // 'abc123'
// 设置过期时间(TTL,毫秒)
storage.set('cache', { data: [1, 2, 3] }, { ttl: 60000 });
// 指定存储类型
storage.set('session-key', 'value', { storage: 'session' });
// 其他操作
storage.has('token'); // true
storage.keys(); // ['token', 'cache', ...]
storage.remove('token');
storage.clear();
// 监听值变更
const unsub = storage.onChange('token', value => {
console.log('token 已更新:', value);
});
unsub();API 接口
- StorageService — 存储管理服务
set<T>(key, value, options?)— 存储数据get<T>(key, defaultValue?)— 读取数据(自动处理过期)remove(key)— 删除指定键clear()— 清空所有数据has(key)— 判断键是否存在keys()— 获取所有键名onChange(key, handler)— 监听指定键的变更,返回取消订阅函数
- 类型:
StorageOptions、StorageAdapter、StorageEntry
配置选项
构造函数选项:
| 字段 | 类型 | 说明 |
| ---------------- | ----------------- | ---------------------------- |
| prefix | string? | 键名前缀,用于多应用隔离 |
| localStorage | StorageAdapter? | 自定义 localStorage 适配器 |
| sessionStorage | StorageAdapter? | 自定义 sessionStorage 适配器 |
StorageOptions(set 方法选项):
| 字段 | 类型 | 说明 |
| --------- | ----------------------- | ------------------------------ |
| ttl | number? | 过期时间(毫秒),0 表示不过期 |
| storage | 'local' \| 'session'? | 存储类型(默认 'local') |
文档
查看主 README 获取完整文档。
