开发时是正常的,但是用 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.js
的 function createWindow
中,如下图:
网友评论