我正在使用node-webkit为我的学生开发应用程序,并提供一站式解决方案,我需要在一个月内更新一次node-webkit存档。有没有办法可以实现这一目标? 基本上我需要每个月更换一个html文件,比如说“page1.html”。 我用Google搜索但不知道从哪里开始。
答案 0 :(得分: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
[...]
因此,如果您在特定网址上添加新版本,则可以获取该网址并在应用内重写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,所以这个技巧不适用于最后一种情况。
答案 1 :(得分:1)
我使用了https://github.com/nwjs/nw.js/wiki/App
中描述的App.dataPath您可以将html文件下载到该路径中。 App.dataPath独立于平台,虽然基于平台的位置不同,但您的应用程序将具有引用html文件的通用路径。
摘录:
在用户的目录中获取应用程序的数据路径。视窗: %LOCALAPPDATA%/; Linux:〜/ .config /; OSX:〜/ Library / Application 支持/清单中的字段在哪里。