Menu 一个菜单项如何在电子中被分离成它自己的模块?
对于Electron和building菜单,我是新手,我想看看是否可以分离Menu 一个菜单项如何在电子中被分离成它自己的模块?,menu,electron,menuitem,Menu,Electron,Menuitem,对于Electron和building菜单,我是新手,我想看看是否可以分离MenuItem,以防止出现大量文件,但我遇到了一些问题。例如,我将菜单代码分离到main.js之外,并将菜单移动到菜单目录中的渲染器目录中。我可以使用以下命令从main.js调用菜单: mainMenu.js: 它是有效的,但每个菜单项是否可以进一步分离到它们自己的文件中?正确的方法是什么 我尝试使用mainMenu.js并将其编码为: const foo = require('./itemFoo') module.e
MenuItem
,以防止出现大量文件,但我遇到了一些问题。例如,我将菜单代码分离到main.js之外,并将菜单移动到菜单目录中的渲染器目录中。我可以使用以下命令从main.js调用菜单:
mainMenu.js:
它是有效的,但每个菜单项是否可以进一步分离到它们自己的文件中?正确的方法是什么
我尝试使用mainMenu.js并将其编码为:
const foo = require('./itemFoo')
module.exports = [
{foo},
{
label: 'Bar',
id: 'itemBar',
submenu: [
{label: 'Enter Bar'},
{label: 'Exit Bar'}
]
}
]
itemFoo.js:
module.exports = [
{
label: 'Foo',
id: 'itemFoo',
submenu: [
{label: 'Enter Foo'},
{label: 'Exit Foo'}
]
}
]
但我有一个错误:
TypeError:MenuItem的模板无效:必须至少有一个
标签、角色或类型
Electron中的菜单项是否可以隔离到它自己的模块中?如果可以,如何隔离?我在搜索时或在下没有看到这一点,这应该可以工作(但未经测试):
主要流程:
let mainMenuTemplate =
[
require('./renderer/Menus/itemFoo'),
require('./renderer/Menus/itemBar')
];
let mainMenu = Menu.buildFromTemplate(mainMenuTemplate);
module.exports =
{
label: 'Foo',
id: 'itemFoo',
submenu: [
{label: 'Enter Foo'},
{label: 'Exit Foo'}
]
};
module.exports =
{
label: 'Bar',
id: 'itemBar',
submenu: [
{label: 'Enter Bar'},
{label: 'Exit Bar'}
]
};
itemFoo.js:
let mainMenuTemplate =
[
require('./renderer/Menus/itemFoo'),
require('./renderer/Menus/itemBar')
];
let mainMenu = Menu.buildFromTemplate(mainMenuTemplate);
module.exports =
{
label: 'Foo',
id: 'itemFoo',
submenu: [
{label: 'Enter Foo'},
{label: 'Exit Foo'}
]
};
module.exports =
{
label: 'Bar',
id: 'itemBar',
submenu: [
{label: 'Enter Bar'},
{label: 'Exit Bar'}
]
};
itemBar.js:
let mainMenuTemplate =
[
require('./renderer/Menus/itemFoo'),
require('./renderer/Menus/itemBar')
];
let mainMenu = Menu.buildFromTemplate(mainMenuTemplate);
module.exports =
{
label: 'Foo',
id: 'itemFoo',
submenu: [
{label: 'Enter Foo'},
{label: 'Exit Foo'}
]
};
module.exports =
{
label: 'Bar',
id: 'itemBar',
submenu: [
{label: 'Enter Bar'},
{label: 'Exit Bar'}
]
};
注意:中间的
main menu.js
文件可能是不必要的…我知道我做错了什么。我把菜单项写错了。应该是:
main.js:
mainMenu.js:
itemBar.js:
itemFoo.js:
module.exports = [
{
label: 'Foo',
id: 'itemFoo',
submenu: [
{label: 'Enter Foo'},
{label: 'Exit Foo'}
]
}
]
这将允许我将每个主菜单项放在自己的文件中,并清除main.js