我正在使用 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