【发布时间】:2019-08-07 14:19:09
【问题描述】:
Electron 新手和构建菜单我正在尝试查看是否可以分离 MenuItem 以防止文件过大,但我遇到了问题。例如,我在 main.js 之外分离了菜单代码,并将菜单移到了 Menu 目录内的渲染器目录中。我可以从 main.js 调用菜单:
let mainMenu = Menu.buildFromTemplate(require('./renderer/Menus/mainMenu'))
mainMenu.js:
module.exports = [
{
label: 'Foo',
id: 'itemFoo',
submenu: [
{label: 'Enter Foo'},
{label: 'Exit Foo'}
]
},
{
label: 'Bar',
id: 'itemBar',
submenu: [
{label: 'Enter Bar'},
{label: 'Exit Bar'}
]
}
]
它可以工作,但是每个菜单项可以进一步分离到它们自己的文件中吗?这样做的正确方法是什么?
我尝试使用 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 中的菜单项可以隔离到它自己的模块中吗?如果可以,该怎么做?我在搜索[electron] menuitem 或documentation 下时没有看到提到这一点
【问题讨论】: