86

ユーザー設定を保存する組み込みのメカニズムが見つからないようです。私は、electron がすべてのデスクトップ プラットフォームでユーザー設定を保存するための標準的な方法を提供することを望んでいました。前例がない場合は自分で実装できますが、すぐにカスタム ソリューションに飛びつきたくありませんでした。この分野では、オンラインでの調査はかなりまばらです。ありがとう!

4

6 に答える 6

45

私は自分の Electron アプリでこの特定の問題に直面しており、この投稿をきっかけにelectron-json-storageという NPM モジュールを作成しました。

このモジュールを使用すると、JSON との間で簡単に JSON を読み書きできますapp.getPath('userData')

const storage = require('electron-json-storage');

// Write
storage.set('foobar', { foo: 'bar' }).then(function() {

    // Read
    storage.get('foobar').then(function(object) {
        console.log(object.foo);
        // will print "bar"
    });

});
于 2016-01-26T00:44:12.930 に答える
18

Electron は、このためにすぐに使用できるものは何も提供しません。ただし、Electron はapp.getPath APIを介してクロスプラットフォームの方法でユーザー データを保存する慣用的な場所を取得する方法を提供します。

これを行う最も一般的な3つの方法は次のとおりです。

  • localStorage (または任意の HTML5 ストレージ API)
  • フラット JSON ファイル (これは私が行っていることであり、electron-storeを使用しています)
  • IndexedDB、neDB、sqlite などの組み込みデータベース

どちらを選択するかは、アプリのニーズによって異なります。レンダラー プロセスでこのデータにアクセスするだけでよい場合は、localStorage. ほとんどの場合、メインとレンダラーの両方でデータにアクセスする必要があるように思われるため、JSON ファイルは理にかなっています。大量のデータや複雑なクエリを扱っている場合は、データベースが理にかなっています。これについては、こちらに詳しく書きました。

于 2016-09-20T02:54:53.343 に答える
5

LocalStorage はどうですか? ブラウザ プロセスからこれらの設定にアクセスする必要がある場合は、おそらく独自の設定を作成する必要があります (または、これを実装する node.js ライブラリを使用するだけです)。

于 2015-06-01T01:13:21.010 に答える