如何在电子中设置应用程序菜单?
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-prebuilt
在 electron-quick-start
示例中使用的它有自己的应用程序名称 (Electron)。
要更改此设置,您需要 rebuild/package 您的应用,它将使用您的 package.json 中的 "name" 或 "productName"。
还有 set/get 应用程序名称的方法,但您必须打包您的应用程序才能在主菜单上看到该更改:
const electron = require('electron');
const app = electron.app;
app.setName('APPNAME');
如果我启动 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-prebuilt
在 electron-quick-start
示例中使用的它有自己的应用程序名称 (Electron)。
要更改此设置,您需要 rebuild/package 您的应用,它将使用您的 package.json 中的 "name" 或 "productName"。
还有 set/get 应用程序名称的方法,但您必须打包您的应用程序才能在主菜单上看到该更改:
const electron = require('electron');
const app = electron.app;
app.setName('APPNAME');