没有设置菜单/菜单栏|删除默认菜单[electronjs]

时间:2018-02-08 18:23:40

标签: javascript angular menu electron menubar

我正在使用eletronjs进行角度应用。

由于应用程序设计也在浏览器中运行,我不需要/想要默认或任何electronjs菜单/菜单栏。

如何删除它?

1 个答案:

答案 0 :(得分:1)

您可以将菜单设置为null,但如果您要为Mac发送应用,则会违反应用指南。你应该至少在macOS上包含一个基本菜单。

这就是你如何确保mac的最小菜单:

    import { app, Menu } from 'electron';

    if (process.platform === 'darwin') {
      const template = [
        {
          label: app.getName(),
          submenu: [{ role: 'about' }, { type: 'separator' }, { role: 'hide' }, { role: 'hideothers' }, { role: 'unhide' }, { type: 'separator' }, { role: 'quit' }]
        },
        {
          label: 'Edit',
          submenu: [{ role: 'undo' }, { role: 'redo' }, { type: 'separator' }, { role: 'cut' }, { role: 'copy' }, { role: 'paste' }, { role: 'selectall' }]
        },
        {
          label: 'View',
          submenu: [{ role: 'togglefullscreen' }]
        },
        {
          role: 'window',
          submenu: [{ role: 'minimize' }, { role: 'close' }]
        }
      ];

      Menu.setApplicationMenu(Menu.buildFromTemplate(template));
    } else {
      Menu.setApplicationMenu(null)
    }