首页 > 解决方案 > 在直接从 IDE 运行时,如何禁止我的电子向协议处理程序注册?

问题描述

我有一个电子应用程序,我使用 main.js 中的以下代码向协议处理程序注册

app.setAsDefaultProtocolClient('xyz');

当我尝试从安装位置运行它时,一切都按预期工作。但是从 Visual Studio 代码启动它会弄乱协议处理程序(因为从 IDE (如 VS 代码)运行时,它将应用程序命名为电子应用程序,而不是我定义的名称)因此,下次当我尝试从安装位置运行时,协议处理程序会尝试找到一个不同的应用程序,它是默认的“电子”应用程序。有什么办法可以避免这种情况发生。

我尝试使用 if 语句来检查 app.name 和我的预期名称是否相同,但这总是返回 true,尽管我在我的操作系统上看到应用程序名称为 Electron。这里的任何线索都会有所帮助

标签: javascriptelectron

解决方案


您可以使用app.isPackaged.

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


推荐阅读