【问题标题】:update client code in electron在电子中更新客户端代码
【发布时间】:2020-05-09 23:14:05
【问题描述】:

所以我有多个使用电子内置应用程序的客户。整个应用程序实际上是多个相互通信的电子窗口。当我有客户端代码(html/js/css)的更新时,我必须让它们关闭,并运行一个从我们的内部服务器下载的实用程序来更新他们的应用程序。我想知道是否有一种方法可以将新代码推送到客户端(可能通过套接字)以覆盖旧代码,或者甚至可以轮询我们的“代码服务器”以获取更新,然后让它自动更新/覆盖现有代码。

这可能吗?是否有电子内置的功能允许这样做?

如果可能,如何实现?即是否有一个我可以查看的图书馆对我有帮助? (我找到了一个 filesaver.js 库,但它不完全是我需要的)。提前致谢。

【问题讨论】:

    标签: client electron


    【解决方案1】:

    您可以让您的 Electron 应用程序在每次启动时从服务器加载所有代码并将其缓存在本地。您可以通过简单地将电子代码托管在 Web 服务器上并将 Electron 指向 URL 来完成此操作。您可以使用Service Worker 使应用离线工作。

    这不是一个好主意,因为从 Internet 加载的代码将可以访问所有节点 API。您基本上已经制作了一个 DIY 僵尸网络,并且保护它免受滥用可能会很棘手。

    您应该阅读 Electron 文档中的 Security, Native Capabilities, and Your Responsibility 并确保您理解其中的含义。

    【讨论】:

      【解决方案2】:

      您可以使用 Electron 内置的 autoUpdater:https://electronjs.org/docs/api/auto-updater

      您需要一个可以与 autoUpdater 通信的服务器,以便从中下载更新。下载后安装更新。

      您可以自己托管服务器或使用https://www.update.rocks/之类的服务

      【讨论】:

        【解决方案3】:

        您需要的是电子更新器,您可以为此使用电子生成器。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-07-04
          • 2012-09-03
          • 1970-01-01
          • 2021-04-18
          • 2018-07-15
          • 1970-01-01
          • 1970-01-01
          • 2023-04-02
          相关资源
          最近更新 更多