我正在使用 node-webkit 为我的学生开发应用程序,并提供一站式解决方案,我需要每月更新一次 node-webkit 存档。有没有办法我可以做到这一点?基本上我每个月只需要替换一个 html 文件,比如“page1.html”。我用谷歌搜索但不知道从哪里开始。
问问题
2309 次
2 回答
2
在 Mac 上,您可以访问自己的应用程序的文件系统,例如
$ ls -lh /Applications/Shock.app/Contents/Resources/app.nw/
[...]
-rw-r--r-- 1 jordi staff 2,3K 29 gen 01:47 index.html
-rw-r--r-- 1 jordi staff 467B 29 gen 01:47 lecturenotes.html
[...]
因此,如果您将新版本放在特定 URL 上,您可以获取它并在应用程序中重写 HTML 文件:
var request = require('request');
request('http://www.your-own-server.com/app/lecturenotes.html', function (error, response, body) {
if (!error && response.statusCode == 200) {
var fs = require('fs');
fs.writeFileSync('/Applications/Shock.app/Contents/Resources/app.nw/lecturenotes.html', body);
}
});
我认为类似的事情也发生在 Linux 上。不幸的是,Windows 版本使用二进制包到 exe 中,所以这个技巧不适用于最后一种情况。
于 2014-03-04T00:18:27.140 回答
1
我已经按照https://github.com/nwjs/nw.js/wiki/App中的描述使用了 App.dataPath
您可以将 html 文件下载到该路径中。App.dataPath 独立于平台工作,虽然位置因平台而异,但您的应用程序将有一个通用路径来引用 html 文件。
摘录:
在用户目录中获取应用程序的数据路径。视窗:%LOCALAPPDATA%/;Linux:~/.config/;OSX:~/Library/Application Support/ 清单中的字段在哪里。
于 2015-10-01T05:39:54.297 回答