基本上,我尝试使用nwjs打包应用程序,并安装了nwjs更新程序,如文档中所述。
对于窗口,它创建一个。exe文件,安装后如果有任何更新,nwjs更新程序检查它并通知用户下载最新版本。
但是对于macOS,它创建了一个包含我们的应用程序作为应用程序的zip。应用程序,其次我们需要做一个包安装程序。我使用了免费工具packages来打包我的应用程序。我只需要使用创建的应用程序。应用程序进入packages工具,它会创建一个包安装程序。
这次的问题是nwupdater不工作,并立即关闭应用程序。
希望任何人都有相同的解决方案或替代方案。
我只是希望我的应用程序是在html, css和javascript编写的,作为一个本地应用程序在macOS与安装程序和更新。
这是个好问题。我已经有一段时间没调查这事了。但是我不知道有哪个自动化构建工具仍然维护得很好。大多数社区只是为他们的应用程序编写自己的定制构建脚本。最常用的版本现在已经归档,并逐渐与社区(phoenix)的需求脱节。对于自动更新,您可以尝试几种方法和工具,但没有一种方法能够成功并成为最常用的解决方案。事实证明,自动更新是相当特定于应用程序的,所以你必须看看可用的解决方案。
如果我要创建我自己的自动更新程序,我的方法是:
- 使用
nw-splasher
之类的东西启动带有进度条的启动画面 - 检查
require('path').join(nw.App.dataPath, 'releases')
查看已下载的最新版本。 点击API查看应用程序的最新版本。如果无法访问API,请使用最新的本地版本。 - 如果有一个新版本,然后为我的程序代码,下载/解压缩文件(不是NW.js文件,因为它们更大,而且已经运行)。
使用这种方法,我甚至可以在应用程序中添加所有下载版本的下拉菜单,这样人们就可以根据需要切换到较旧的版本(不想强迫用户使用最新版本,如果它放弃了他们喜欢的功能,我使用了很多较旧的软件,因为这个原因,一些"自动更新";它们阻止我得到我喜欢的版本)。
这种方法当然不是最有效的,而且有一些缺点。比如不真正更新NW.js文件本身,这可能是可取的。
我建议你阅读其他人关于这个主题的想法,其中许多链接到他们创建的工具。
- https://github.com/nwjs/nw.js/issues/233
如果您打算编写自己的构建脚本,这里有一个教程可能会有所帮助:
- https://gitlab.com/TheJaredWilcurt/battery-app-workshop packaging-your-app-for-distribution
虽然我认为OSX已经改变了一些细节,但方法基本上是一样的。