【Electron】数据存储方案:electron-store
在开发Electron应用时,我们经常需要对一些数据进行本地化存储,比如用户的配置、应用的状态、缓存的数据等。本文将介绍一款简单而强大的数据持久化组件:electron-store
。
electron-store
是一个基于Node.js文件系统的数据存储库,它可以将数据以JSON文件的形式保存在本地,并提供了一些方便的API来读写数据。
The data is saved in a JSON file named config.json in app.getPath('userData')
.
但其实我并没有找到这个config.json
((但能用就是了
electron-store
的优点有:
- 简单易用,无需安装数据库或其他依赖
- 支持多进程访问,可以在主进程和渲染进程中使用
- 支持点符号访问嵌套属性,例如
store.get('foo.bar')
- 支持默认值,自动合并用户设置和默认设置
- 支持加密,可以使用密码对数据进行加密和解密
- 支持类型检查,可以使用
TypeScript
或JSDoc
来定义数据类型 - 支持观察者模式,可以监听数据变化并执行回调函数
引入插件
cnpm install electron-store |
*Requires Electron 30 or later.*(since v9.0.0 on 2024/05/01)
记得检查一下Electron版本!
使用
这里使用IPC通信来进行数据的获取和存储。
修改 background.ts
在主进程中使用ipcMain
定义ipcRenderer
监听事件:
import Store from 'electron-store' |
修改 preload.ts
contextBridge.exposeInMainWorld('myApi', { |
获取数据
const getSettings=async ()=>{ |
存储数据
const handleExceedNumChange=async ()=>{ |
参考链接
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自Rean's Blog