0

我正在使用 node-webkit 构建一个桌面应用程序。我已经使用 nw-builder 从我的 mac 构建 windows 32 和 windows 64 位。该程序在 Windows 中运行良好,只是我用来存储数据的文件在程序退出时消失了。

该应用程序被打包为 .pak 文件,我假设当程序关闭时,所有文件都将被删除。所以当我再次启动应用程序时,持久化的数据就消失了。

如何在 Windows 中为 node-webkit 保留数据?

我正在使用“node-persist”包来保持我的持久性。在 Mac 中,它在 .app 文件中创建一个名为“persist”的文件夹,并将文件写入可以正常工作的文件夹。

但是在 windows 中,由于 .pak 文件,当程序关闭时,持久化的文件会丢失。我该如何解决 ?有没有办法将文件存储在 .pak 之外。.pak 似乎被提取到一个临时位置。

更新(已解决)

我已经按照https://github.com/nwjs/nw.js/wiki/App中的描述使用了 App.dataPath

摘录:

在用户目录中获取应用程序的数据路径。视窗:%LOCALAPPDATA%/;Linux:~/.config/;OSX:~/Library/Application Support/ 清单中的字段在哪里。

PopcornTime在其 database.js 文件中也使用相同的方法。https://git.popcorntime.io/popcorntime/desktop/blob/master/src/app/database.js

4

1 回答 1

1

您有多种选择:

https://github.com/nwjs/nw.js/wiki/Save-persistent-data-in-app

就个人而言,我使用localStorage. 对于简单的需求,它非常容易并模仿浏览器行为。

于 2015-09-30T14:19:45.493 回答