node-webkit windows构建存储持久数据的位置?

时间:2015-09-30 08:13:20

标签: node.js node-webkit node-persist

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

1 个答案:

答案 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(); } 。对于简单的需求,它非常容易并且模仿浏览器行为。