原创

electron-store 简单介绍

最近使用 Electron 进行开发,需要使用本地存储一些配置项时,了解到这款简单好用的工具 electron-store ,这是一款简单的数据持久化组件,以文件形式保存数据在本地

 

介绍

  • 以文件形式缓存数据,保存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 不会。
正文到此结束