前言
通过indexDb存储pinia的相关数据。传输的时候不用传输整个数据
核心思想转变:
之前的模式是 “数据跟随消息” (Push Data),现在的模式是 “消息通知,数据自取” (Signal & Pull)。
- 写入方:Store 变更 -> 写入 IndexedDB -> 发送 “数据已更新” 的信号(不带数据)。
- 接收方:收到信号 -> 从 IndexedDB 读取最新数据 -> 更新 Store。
- 初始化:新窗口启动 -> 请求初始化 -> 老窗口强制将内存数据刷入 IndexedDB -> 发送 “准备好了” -> 新窗口从 DB 读取。
这样做的好处是 BroadcastChannel 极其轻量,不再受数据大小限制,且数据持久化由 IndexedDB 承担。
READ MORE
div>
READ MORE
div>
1 | // src/main/index.ts |
READ MORE
div>
发布 npm 包不仅仅是把代码放上去,还需要考虑 构建规范 (ESM/CJS)、类型定义 (TypeScript .d.ts)、Peer Dependencies 以及 扩展性。
既然我们要把它做成一个通用的 pinia-plugin-electron-share,我们需要让它支持配置(比如自定义 Channel 名称),并且具备完善的工程化结构。
这里是可以直接 npm publish 的完整工程代码结构。
READ MORE
div>
READ MORE
div>
1. electron-vite相关的问题汇总
https://github.com/alex8088/electron-vite
https://cn.electron-vite.org/
READ MORE
div>
当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器