Electron 电子构建时间变量

Electron 电子构建时间变量,electron,electron-builder,electron-updater,Electron,Electron Builder,Electron Updater,我需要创建我的electron应用程序的两个版本: 静默安装exe,其中electron updater配置为在后台自动更新 一种msi,其中安装的应用程序不会自动更新,只会提醒用户已发布新版本 我这样做的一种方法是在为两个版本中的每一个运行electron builder之前,将某种配置复制到构建目录中,并在应用程序中读取该配置,以确定如何处理electron updater事件 在我这么做之前,我想确定这是否是最好的方法。理想情况下,我会有一个变量,我可以发送到electron builde

我需要创建我的electron应用程序的两个版本:

  • 静默安装exe,其中electron updater配置为在后台自动更新
  • 一种msi,其中安装的应用程序不会自动更新,只会提醒用户已发布新版本
  • 我这样做的一种方法是在为两个版本中的每一个运行electron builder之前,将某种配置复制到构建目录中,并在应用程序中读取该配置,以确定如何处理electron updater事件

    在我这么做之前,我想确定这是否是最好的方法。理想情况下,我会有一个变量,我可以发送到electron builder,切换electron updater功能,但我认为这样的东西不存在

    所以问题是:


    是否可以在电子应用程序中使用构建时变量?如果是这样,怎么做?

    我自己想出的一个解决方案是创建一个config.json文件,我
    需要该文件,并将其放入我需要的js文件中

    对于不同的包类型,我的构建过程的一部分涉及到在全部打包之前在构建目录中用构建特定的版本覆盖config.js文件


    这并不理想,因为这意味着我不能用一个
    electron builder
    命令构建所有的msi,但碰巧我无法在Mac上构建msi,所以最终还是发出了单独的命令。

    我希望你不介意我问,但我很好奇为什么你需要两个不同的安装版本?我之所以问这个问题,是因为我想知道是否有一种不同的解决方案可用于您试图实现的目标,以使更新机制更简单。关于特定的问题,您能否在
    process.env
    中检查是否有任何值可以帮助您检测安装的类型?我知道对于Linux,如果您使用Snap,您可以检查
    process.env.Snap
    ,以检测它是否已通过该方法安装。@DavidWinter公司用户更喜欢MSI,这样他们就可以跨用户机器进行部署。他们也不希望自动更新。他们希望完全控制进入用户机器的内容。process.env的东西很有趣……我必须检查一下……不过,一些更具体、更文档化的东西会很棒!