Menu 如何在electron中设置应用程序菜单?

Menu 如何在electron中设置应用程序菜单?,menu,electron,Menu,Electron,如果启动该应用程序,我将获得完整的OSX菜单: 然后,我将这段代码(主要是从docs复制的)添加到main.js中: const Menu = require('menu');

如果启动该应用程序,我将获得完整的OSX菜单:

然后,我将这段代码(主要是从docs复制的)添加到main.js中:

const Menu = require('menu');                                                                                                                                                                            
const MenuItem = require('menu-item');
var mainmenu = new Menu();
mainmenu.append(new MenuItem({ label: 'MenuItem1', click: function() { console.log('item 1 clicked'); } }));
Menu.setApplicationMenu(mainmenu);
我还尝试使用来自的菜单模板代码,结果完全一样,令人失望:

我还尝试将上面的代码添加到index.html,从字面上复制菜单文档上的代码。同样的事情


你知道怎么回事吗?

electron预构建的
electron快速启动
示例中使用了它,它有自己的应用程序名(electron)

要更改此设置,您需要重新生成/打包应用程序,它将使用package.json中的“name”或“productName”

还有一种方法可以设置/获取应用程序名称,但您必须打包应用程序才能在主菜单上看到更改:

const electron = require('electron');
const app = electron.app;

app.setName('APPNAME');

你想更改“电子”菜单吗?这是打包的应用程序吗?如果不是,您是否尝试过setName方法
app.setName('YOURAPPNAME')
?@Philip我尝试过。它适用于后续的app.getName()调用,但菜单将始终显示electron setName work around在使用预编译包时不起作用。如果您使用的是
electron预编译
包,则无法更改
appName
。你需要重新构建/打包你的应用程序,它将使用你的
package.json
中的
name/productName
值。我建议您在这里试用
电子包装机