javascript - 在直接从 IDE 运行时,如何禁止我的电子向协议处理程序注册?
问题描述
我有一个电子应用程序,我使用 main.js 中的以下代码向协议处理程序注册
app.setAsDefaultProtocolClient('xyz');
当我尝试从安装位置运行它时,一切都按预期工作。但是从 Visual Studio 代码启动它会弄乱协议处理程序(因为从 IDE (如 VS 代码)运行时,它将应用程序命名为电子应用程序,而不是我定义的名称)因此,下次当我尝试从安装位置运行时,协议处理程序会尝试找到一个不同的应用程序,它是默认的“电子”应用程序。有什么办法可以避免这种情况发生。
我尝试使用 if 语句来检查 app.name 和我的预期名称是否相同,但这总是返回 true,尽管我在我的操作系统上看到应用程序名称为 Electron。这里的任何线索都会有所帮助
解决方案
您可以使用app.isPackaged
.
一个布尔属性,如果应用程序已打包,则返回 true,否则返回 false。对于许多应用程序,此属性可用于区分开发和生产环境。
推荐阅读
- vb.net - VB - 通过存储在 My.Settings 中的字符串引用控件
- php - 将csv导入mysql表时如何从内部值中删除双引号
- java - JEP286 - 在增强的 for 循环中使用索引
- powershell - Powershell - 努力从变量位置复制文件
- python - Python Plotly:如何将图像添加到 3D 散点图中
- python - Matplotlib:将 Y 轴更改为对数刻度后,将 Y 轴设置为非科学记数法
- laravel - Laravel 上的 url 在本地工作,但在 AWS EC2 linux centos 7 上不工作
- javascript - 如何在 HTML 中显示消息并关闭设置窗口?
- python - 整数值不变
- mysql - 休眠创建表但没有影响