解决 Electron 在 mac 上复制粘贴失效

开发时是正常的,但是用 electron-packager 或 electron-builder 打包后,就没法在应用内复制粘贴了。
原因是在 mac 环境打包时,应用的菜单会变成空的,需要我们手动加上编辑菜单以及快捷键。
网上有很多版本的解决方案:
https://www.jianshu.com/p/fcee9c1ae110
http://www.loen.wang/?p=728
https://blog.csdn.net/gentlycare/article/details/51135950

我就简单的总结一下,做一个最简版。

  if (process.platform === 'darwin') {
    const template = [
      {
        label: "Application",
        submenu: [
          { label: "Quit", accelerator: "Command+Q", click: function() { app.quit(); }}
        ]
      }, 
      {
        label: "Edit",
        submenu: [
          { label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" },
          { label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" },
        ]
      }
    ];
    Menu.setApplicationMenu(Menu.buildFromTemplate(template))
  } else {
    Menu.setApplicationMenu(null)
  }

这段代码可以加在 main.jsfunction createWindow 中,如下图:

你可能感兴趣的:(解决 Electron 在 mac 上复制粘贴失效)