gpt4 book ai didi

electron - Electron :process.defaultApp和app.isPackaged之间的区别

转载 作者:行者123 更新时间:2023-12-03 12:24:13 27 4
gpt4 key购买 nike

Electron标志 process.defaultApp app.isPackaged 有什么区别?两者都用于区分开发环境和生产环境。我的观察是Boolean(process.defaultApp) == !app.isPackaged总是如此。 是否都存在均为true或均为false的情况?

从文档和代码:

process.defaultApp

bool 值。通过将应用程序作为参数传递给默认应用程序来启动应用程序时,此属性在主进程中为true,否则为未定义。

app.isPackaged

一个 bool 属性,如果应用程序已打包,则返回true,否则返回false。对于许多应用程序,此属性可用于区分开发和生产环境。

当exec文件不是app.isPackagedelectron时,设置From the code-electron.exe

注意:我知道一个小的区别是process.defaultApp只能在主进程中使用。

最佳答案

两者都可以产生相同的结果,但是process.defaultApp属性必须格外小心:

  • 处理它是undefined的情况(例如通过使用!运算符)
  • 在渲染器过程
  • 中使用 remote.process而不是 process

    主要过程
    var isPackaged = !process.defaultApp;

    等效于:
    var isPackaged = require('electron').app.isPackaged;

    渲染程序
    var isPackaged = !require('electron').remote.process.defaultApp;

    等效于:
    var isPackaged = require('electron').remote.app.isPackaged;

    编辑:

    有关为何必须添加 app.isPackaged属性的一些额外信息(虽然不是100%清晰)可以在相关的请求请求的对话中找到: add app.isPackaged #12656

    关于electron - Electron :process.defaultApp和app.isPackaged之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58179379/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com