У меня есть приложение Electron
с 3 windows, и у каждого окна есть свое меню. Код шаблона меню для каждого меню довольно длинный, и я хотел бы его использовать. Пока что ничего из того, что я пробовал, не работает.
Я пробовал разные способы "модульности", но получил много ошибок. Приведенный ниже подход работает для настройки меню, но ни одна из функций, на которые есть ссылки в меню, не работает (например, quitApplication
).
То, что я пытаюсь сделать, не возможно, или я просто "делаю это неправильно "?
![enter image description here](https://i.stack.imgur.com/JvSUJ.png)
var test = require("./app/js/menuTest.js");
var tm = new test();
var menuTemplate = tm.getMenu();
myWindow = Menu.buildFromTemplate(menuTemplate);
menuTest. js
function testMenu() {
this.getMenu = function () {
var menuTemplate = [
{
label: global.productData.appName,
submenu: [
{ label: 'About ' + global.productData.appName, click: () => { showAboutWindow() } },
{ type: 'separator' },
{ role: 'hide' },
{ role: 'hideothers' },
{ role: 'unhide' },
{ type: 'separator' },
{ label: 'Quit', click: () => { quitApplication() }, accelerator: 'CmdOrCtrl+q' }
]
// code deleted for clarity
return menuTemplate;
}
}
module.exports = testMenu;