我正在使用node-webkit构建桌面应用程序。我已经使用nw-builder来构建windows 32& Windows 64位来自我的mac。该程序在Windows中正常工作,除了用于存储数据的文件在程序退出时消失。
应用程序打包为.pak文件,我假设程序关闭时,所有文件都被删除。因此,当我再次启动应用程序时,持久数据就会消失。
如何在Windows中为node-webkit保留数据?
我正在使用' node-persist'打包我的坚持。在Mac中,它创建了一个名为' persist'的文件夹。在.app文件中,并将文件写入工作正常的文件。
但在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
答案 0 :(得分:1)
您有多种选择:
https://github.com/nwjs/nw.js/wiki/Save-persistent-data-in-app
就个人而言,我使用了public async Task<string> MakeWebRequest()
{
HttpClient http = new HttpClient();
HttpResponseMessage response = await http.GetAsync("***URL***");
return await response.Content.ReadAsStringAsync();
}
。对于简单的需求,它非常容易并且模仿浏览器行为。