const { app, BrowserWindow, Menu } = require('electron') function createWindow() { let mainWin = new BrowserWindow({ width: 800, height: 600, show: false, title: "标题", // 要在网页里的标题去除 icon: "w.png", // 设置图标 webPreferences: { nodeIntegration: true, // Node集成环境 enableRemoteModule: true, // 开启远程模块 remote } }) // 01 自定义菜单的内容 let menuTemp = [ { label: '角色', submenu: [ { label: '复制', role: 'copy' }, { label: '剪切', role: 'cut' }, { label: '粘贴', role: 'paste' }, { label: '最小化', role: 'minimize' } ] }, { label: '类型', submenu: [ { label: '选项1', type: 'checkbox' }, { label: '选项2', type: 'checkbox' }, { label: '选项3', type: 'checkbox' }, { type: 'separator' }, { label: 'item1', type: 'radio' }, { label: 'item2', type: 'radio' }, { type: 'separator' }, { label: 'windows', type: 'submenu', role: 'windowMenu'} ] }, { label: '其他', submenu: [ { label: '打开', icon: 'open.png', accelerator: 'ctrl + o', click() { console.log('open 执行了') } } ] } ] // 02 依据上述数据创建一个 menu let menu = Menu.buildFromTemplate(menuTemp) // 03 将上述的菜单添加至 app 中 Menu.setApplicationMenu(menu) mainWin.loadFile('index.html') // 防止首页白屏,否则不显示 mainWin.on('ready-to-show', () => { mainWin.show() }) mainWin.on('close', () => { mainWin = null // 删除引用,释放空间 }) } app.on('ready', () => { createWindow() }) app.on('window-all-closed', () => { app.quit() })