电子便携式版本无法在本地保存内容

时间:2018-09-26 08:51:32

标签: reactjs electron electron-builder

用例

我正在构建一个支持翻译的应用程序。我想象的方式是该应用程序默认情况下会附带英语,并将被发送到其他地方。例如,到达德国时,用户会将德语添加为翻译,然后将其发送到法国。法语用户将能够看到原始语言(英语)和德语。

背景

该应用是包裹在Electron中的React Web应用。

对于用例,我实现了localStorage API以存储内容更改并在不同的翻译之间切换。

问题

将应用程序构建为便携式exe并对其进行测试后,我开始注意到内容不会转移到新PC上。

似乎数据已存储在系统上或正在发生其他事情(例如,将便携式exe移至另一台计算机时会擦除localStorage)。

在我看来,由于我使用的是localStorage,而Electron将Chromium浏览器与Web应用程序捆绑在一起,因此我希望将localStorage保存在便携式应用程序中。

很想听听您对此的看法

感谢一百万。

1 个答案:

答案 0 :(得分:1)

localStorage不会保存到应用程序的二进制文件中,而是保存到PC文件系统中帐户的文件中。

例如,在Linux上,Electron在~/.config中为您的应用创建目录,并将localStorage数据存储在那里。我想您可能会在Windows上的%APPDATA%C:\Users\YourUsername\AppData\Roaming\或类似名称)中找到应用程序的目录。

您可以尝试将数据写入应用资源包中的文件,该文件将在重新分发时保留,但这是另一个问题和答案。