Node-webkit应用程序如何更新它?

时间:2013-11-22 17:51:33

标签: node-webkit

我正在使用node-webkit为我的学生开发应用程序,并提供一站式解决方案,我需要在一个月内更新一次node-webkit存档。有没有办法可以实现这一目标? 基本上我需要每个月更换一个html文件,比如说“page1.html”。 我用Google搜索但不知道从哪里开始。

2 个答案:

答案 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   支持/清单中的字段在哪里。