Electron + node.jsで作成したアプリで永続化する(Windows)

Electron + node.jsで作成したアプリで永続化する(Windows)

Windowsアプリの設定をどこかに永続化したい場合、electron-storeをインストールして永続化することが出来ます。

例えばWindowsの終了時の縦横のサイズを次回起動時覚えておきたい、という場合です。

このような情報を永続化する場合にはelectron-storeをインストールします。

メインプロセス(main.js)の先頭で以下2行を書いておきます。

永続化

永続化するには

とします。これで、store.pathにconfig.jsonファイルが作成され、JSON形式で保存されます。

config.jsonの場所は、C:\Users\<ユーザ名>\AppData\Roaming\<プロジェクト名>\config.jsonです。

永続化した値を取得

永続化した値を取得するには

とします。キーに一致する値がない場合、第二引数のデフォルト値となります。

enableRemoteModule: true

Electron v10以降で永続化する場合、BrowserWindowにenableRemoteModule: trueを設定しておかないと永続化することが出来ません。

BrowserWindowインスタンスのcloseでウィンドウズ終了時に高さと幅を保存し、ウィンドウズのインスタンス生成時に高さと幅をstoreから取得するようにすればウィンドウサイズを記憶できるようになります。

const Store = require('electron-store')
const store = new Store()
function createWindow () {
const win = new BrowserWindow({
width: store.get('width',800), // 永続化されていたらその値を、されていなければデフォルト値
height: store.get('height',600), // 永続化されていたらその値を、されていなければデフォルト値
center: true,
resizable: true,
webPreferences: {
nodeIntegration: true,
enableRemoteModule: true, // 永続化
}
})
win.on('close',()=> {
store.set('width', win.getSize()[0]) // widthを永続化
store.set('height', win.getSize()[1]) // heightを永続化
})
}

view raw
main.js
hosted with ❤ by GitHub

次回は通知について実装してみたいと思います。

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA