如何在电子中设置应用程序菜单?

How to set up application menu in electron?

如果我启动 electron-quick-start 应用程序,我会得到完整的 OSX 菜单:

然后我将这段代码(大部分是从文档中复制的)添加到我的 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);

我还尝试使用 electron menu docs 中的菜单模板代码,但结果完全相同,令人失望:

我也尝试将上面的代码添加到 index.html,直接复制菜单文档中的代码。一样的。

知道哪里出了问题吗?

electron-prebuiltelectron-quick-start 示例中使用的它有自己的应用程序名称 (Electron)。

要更改此设置,您需要 rebuild/package 您的应用,它将使用您的 package.json 中的 "name" 或 "productName"。

还有 set/get 应用程序名称的方法,但您必须打包您的应用程序才能在主菜单上看到该更改:

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

app.setName('APPNAME');