介绍

  • 以文件形式缓存数据,保存Electron应用程序或模块的简单数据持久性-保存和加载用户首选项,应用程序状态,缓存等 数据保存在
  • app.getPath('userData')中的JSON文件中。您可以在主进程和渲染器进程中直接使用此模块
app.getPath(name)-储存你应用程序设置文件的文件夹,默认是 appData 文件夹附加应用的名称。

appData-当前用户的应用数据文件夹,默认对应:

%APPDATA% Windows 中
$XDG_CONFIG_HOME or ~/.config Linux 中
~/Library/Application Support macOS 中

安装

npm install electron-store
# 或者使用 yarn add electron-store
注:需要 Electron 5 或更高版本。如果安装失败,可以换成命令cnpm install electron-store(前提是安装了
cnpm)

基础使用

const Store = require('electron-store');

const store = new Store();

store.set('unicorn', '123');
console.log(store.get('unicorn'));
//=> '123'

// Use dot-notation to access nested properties
store.set('foo.bar', true);
console.log(store.get('foo'));
//=> {bar: true}

store.delete('unicorn');
console.log(store.get('unicorn'));
//=> undefined

// 判断是否存在
store.has('unicorn')
//=> false

获取本地存储路径

electron-storejson文件的形式将数据存储在本地文件,获取存储文件的目录如下:

const { app } = require('electron')

// 在程序中获取electron-store文件路径
app.getPath('userData')

window.localStorage 对比

  • localStorage 仅在浏览器进程(渲染进程)中起作用;
  • localStorage 的容错性不是很高,因此,如果您的应用遇到错误并意外退出,则可能会丢失数据;
  • localStorage 仅支持持久字符串,此模块支持任何JSON支持的类型;
  • localStorage 不是很安全,可能是由于xss攻击而泄漏信息;
  • electron-store 模块的API更好,您可以设置并获取嵌套属性,您可以设置默认的初始配置。

vuex 对比

  • 存储方式:vuex 存储在内存,electron-store 则以文件的方式存储在本地,数据存储卸载应用之后依然存在;
  • 应用场景:vuex 用于组件之间的传值,electron-store 则主要用于不同页面之间的传值;
  • 永久性:当刷新页面时 vuex 存储的值会丢失,localStorage 不会。
electron-store 简单介绍

https://blog.sdgou.cc/archives/106.html

作者

白鸽

发布时间

2022-02-18

许可协议

CC BY-SA 4.0