电子如何创建增量文件
electron how to create delta file
我使用 electron-builder
构建我的应用程序并成功构建了包含三个输出的第一个版本:foosetup.exe、foo-0.0.1-full.nupkg 和 RELEASES.Now 我想实现自动更新,我已经使用 electron-release-server
.
部署了后端服务
自动更新需要设置一个feedURL
用来获取更新,但问题是我不知道更新到底是什么意思?是foo-0.0.1-full.nupkg
或 foo-0.0.1-delta.nupkg
或其他文件?
第二个问题是我不知道如何创建增量 file.I 只能在 electron-builder
中找到一个选项 remoteReleases
即 a URL to your existing updates.If given,these will be downloaded to create delta file
。但是URL 到底是什么意思?我找到了一个 "remoteRelease": "https://github.com/user/repo"
的例子,它会创建一些版本并为每个版本上传许多额外的文件,例如 foosetup.exe
, foo-xx-full-nupkg
, RELEASES
。我猜 electron-builder
会获取 ${remoteReleases/release/download/some-version/xxx}
来下载文件,然后将这两个文件进行比较以创建增量文件,但是当我创建发布时我无法上传 RELEASES
github,报告they don't support this file type
。
有没有人可以提供帮助?初学者需要遵循的文档很少
对于electron-release-server请查看the docs.
如果您使用 electron-builder,将自动创建增量文件。但是为了使其工作 remoteReleases
必须设置为有效(且可达)URL plus 必须至少有一个名为 [=11= 的空文件].因此,对于第一个构建,只需创建一个空文件并将其命名为 RELEASES
.
在未来的每个版本中,都会为您创建一个 RELEASES
文件。将所有生成的文件扔到您的发布服务器中(覆盖现有的 RELEASES
),这样就没问题了。
注意: 对于 electron-release-server
你不需要 electron-builder
生成的 RELEASES
。 electron-release-server 会自己创建一个。
要开始使用自动更新,我建议您在本地设置一个极其简单的发布服务器。即:
- 创建一个目录并在其中放入一个空文件
RELEASES
。
- 然后启动一个指向该目录的简单网络服务器(例如
cd into/your/dir && php -S 0.0.0.0:80
)。
- 编辑您的
package.json
:"remoteRelease": "http://localhost"
- 然后构建安装程序:
npm run dist
它应该会成功构建,并且您应该会在本地服务器上看到一些 GET 请求。
- 将生成的文件放入你创建的目录中。
- 现在增加你的版本并开始另一个构建:
npm run dist
您应该会再次看到一些 GET 请求,并且应该会创建一个附加的增量文件。
- 再次将所有这些东西放入目录中(或者对于 electron-release-server 将资产 .nupkg、.exe 和 delta 上传到新版本中)。
希望对您有所帮助。如果有什么不清楚的地方,请随时发表评论。
查看我创建的这个示例应用 https://github.com/electron-delta/electron-sample-app
它使用两个 npm 包。
- @electron-delta/builder
- @electron-delta/updater
更多详情https://github.com/electron-delta/electron-delta#installation
我使用 electron-builder
构建我的应用程序并成功构建了包含三个输出的第一个版本:foosetup.exe、foo-0.0.1-full.nupkg 和 RELEASES.Now 我想实现自动更新,我已经使用 electron-release-server
.
自动更新需要设置一个feedURL
用来获取更新,但问题是我不知道更新到底是什么意思?是foo-0.0.1-full.nupkg
或 foo-0.0.1-delta.nupkg
或其他文件?
第二个问题是我不知道如何创建增量 file.I 只能在 electron-builder
中找到一个选项 remoteReleases
即 a URL to your existing updates.If given,these will be downloaded to create delta file
。但是URL 到底是什么意思?我找到了一个 "remoteRelease": "https://github.com/user/repo"
的例子,它会创建一些版本并为每个版本上传许多额外的文件,例如 foosetup.exe
, foo-xx-full-nupkg
, RELEASES
。我猜 electron-builder
会获取 ${remoteReleases/release/download/some-version/xxx}
来下载文件,然后将这两个文件进行比较以创建增量文件,但是当我创建发布时我无法上传 RELEASES
github,报告they don't support this file type
。
有没有人可以提供帮助?初学者需要遵循的文档很少
对于electron-release-server请查看the docs.
如果您使用 electron-builder,将自动创建增量文件。但是为了使其工作 remoteReleases
必须设置为有效(且可达)URL plus 必须至少有一个名为 [=11= 的空文件].因此,对于第一个构建,只需创建一个空文件并将其命名为 RELEASES
.
在未来的每个版本中,都会为您创建一个 RELEASES
文件。将所有生成的文件扔到您的发布服务器中(覆盖现有的 RELEASES
),这样就没问题了。
注意: 对于 electron-release-server
你不需要 electron-builder
生成的 RELEASES
。 electron-release-server 会自己创建一个。
要开始使用自动更新,我建议您在本地设置一个极其简单的发布服务器。即:
- 创建一个目录并在其中放入一个空文件
RELEASES
。 - 然后启动一个指向该目录的简单网络服务器(例如
cd into/your/dir && php -S 0.0.0.0:80
)。 - 编辑您的
package.json
:"remoteRelease": "http://localhost"
- 然后构建安装程序:
npm run dist
它应该会成功构建,并且您应该会在本地服务器上看到一些 GET 请求。 - 将生成的文件放入你创建的目录中。
- 现在增加你的版本并开始另一个构建:
npm run dist
您应该会再次看到一些 GET 请求,并且应该会创建一个附加的增量文件。 - 再次将所有这些东西放入目录中(或者对于 electron-release-server 将资产 .nupkg、.exe 和 delta 上传到新版本中)。
希望对您有所帮助。如果有什么不清楚的地方,请随时发表评论。
查看我创建的这个示例应用 https://github.com/electron-delta/electron-sample-app
它使用两个 npm 包。
- @electron-delta/builder
- @electron-delta/updater
更多详情https://github.com/electron-delta/electron-delta#installation