电子:在简单的hello world应用程序中,无法查看默认菜单栏

时间:2019-06-03 11:00:40

标签: electron

我是电子新手,正在尝试运行简单的hello世界。 在该“ Electron”应用程序中,其菜单栏应显示为具有常规选项(如编辑,视图,窗口,帮助)的普通应用程序。但是我看不到它。我的操作系统是macOS High Sierra。

我从以下链接中获取了简单的hello世界代码。 https://www.tutorialspoint.com/electron/electron_hello_world.htm

https://www.youtube.com/watch?v=RL305ldfzm8&list=PLC3y8-rFHvwiCJD3WrAFUrIMkGVDE0uqW&index=2

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

为我添加此作品 const {isMac} =电子;

答案 1 :(得分:0)

教程中显示的菜单适用于Windows系统。如果未使用Menu.setApplicationMenu(menu)设置菜单,则显示默认菜单。将菜单设置为macOS上的应用程序菜单。在Windows和Linux上,菜单将设置为每个窗口的顶部菜单。如果要显示默认菜单,请使用以下菜单。 使用https://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2016/02/1454964017Screenshot-2016-02-07-12.41.42.png链接作为参考

const { app, Menu } = require('electron')

const template = [
  // { role: 'appMenu' }
  ...(process.platform === 'darwin' ? [{
    label: app.getName(),
    submenu: [
      { role: 'about' },
      { type: 'separator' },
      { role: 'services' },
      { type: 'separator' },
      { role: 'hide' },
      { role: 'hideothers' },
      { role: 'unhide' },
      { type: 'separator' },
      { role: 'quit' }
    ]
  }] : []),
  // { role: 'fileMenu' }
  {
    label: 'File',
    submenu: [
      isMac ? { role: 'close' } : { role: 'quit' }
    ]
  },
  // { role: 'editMenu' }
  {
    label: 'Edit',
    submenu: [
      { role: 'undo' },
      { role: 'redo' },
      { type: 'separator' },
      { role: 'cut' },
      { role: 'copy' },
      { role: 'paste' },
      ...(isMac ? [
        { role: 'pasteAndMatchStyle' },
        { role: 'delete' },
        { role: 'selectAll' },
        { type: 'separator' },
        {
          label: 'Speech',
          submenu: [
            { role: 'startspeaking' },
            { role: 'stopspeaking' }
          ]
        }
      ] : [
        { role: 'delete' },
        { type: 'separator' },
        { role: 'selectAll' }
      ])
    ]
  },
  // { role: 'viewMenu' }
  {
    label: 'View',
    submenu: [
      { role: 'reload' },
      { role: 'forcereload' },
      { role: 'toggledevtools' },
      { type: 'separator' },
      { role: 'resetzoom' },
      { role: 'zoomin' },
      { role: 'zoomout' },
      { type: 'separator' },
      { role: 'togglefullscreen' }
    ]
  },
  // { role: 'windowMenu' }
  {
    label: 'Window',
    submenu: [
      { role: 'minimize' },
      { role: 'zoom' },
      ...(isMac ? [
        { type: 'separator' },
        { role: 'front' },
        { type: 'separator' },
        { role: 'window' }
      ] : [
        { role: 'close' }
      ])
    ]
  },
  {
    role: 'help',
    submenu: [
      {
        label: 'Learn More',
        click () { require('electron').shell.openExternalSync('https://electronjs.org') }
      }
    ]
  }
]

const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)