gpt4 book ai didi

javascript - 为什么打包的 Electron 应用程序会由于 Menu.getApplicationMenu() 在使用 electro 运行时返回 null 而失败。还好吗?

转载 作者:行者123 更新时间:2023-12-03 02:42:59 32 4
gpt4 key购买 nike

在 Windows 10 上运行打包的 Electron 应用程序时出现奇怪的错误。 enter image description here

当我在此错误上按“确定”时,应用程序会启动,但没有菜单。如果我使用 electron . 运行相同的应用程序它工作完美,有一个菜单。

错误发生在这里:

var filemenu = Menu.getApplicationMenu().items[0].submenu;
filemenu.items[0].visible = false;
filemenu.append(new MenuItem({ label: 'Build Project', click: function () { buildProject(); } }));

我正在尝试编辑默认的"file"菜单并添加“构建项目”项。

这是我第一次尝试打包 Electron 应用程序,因此我欢迎任何有关问题所在的反馈?

最佳答案

在生产过程中,默认菜单似乎没有添加到应用程序中。

解决方案是检查您是否处于开发阶段:

https://www.npmjs.com/package/electron-is-dev

// Check if we are in development
var isDev = require('electron-is-dev');

如果在生产中,您必须从头开始构建菜单。

if(isDev){
// In development
// modify existing menu
}else{
// In production
// construct menu from scratch
var template = [
{
label: "File",
submenu: [
{
label: "Exit",
click: function () { quit(); }
}
]
},
{
label: "Project",
submenu: [
{
label: "Delete",
click: function () { deleteProject(); }
},
{
label: "Build",
click: function () { buildProject(); }
}
]
}
];
// build menu from template
var menu = Menu.buildFromTemplate(template);
// set menu for main window
mainWindow.setMenu(menu);
};

关于javascript - 为什么打包的 Electron 应用程序会由于 Menu.getApplicationMenu() 在使用 electro 运行时返回 null 而失败。还好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48239072/

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