【问题标题】:Can't modify the app menu in Electron app无法在 Electron 应用程序中修改应用程序菜单
【发布时间】:2021-05-12 19:15:40
【问题描述】:
我知道它有效,我几周前才这样做,但现在当我尝试这样做时它会这样说。并将其放入另一个名为 menu.js 的文件中。
[日志]
Uncaught TypeError: Cannot read property 'isReady' of undefined
at menu.js:36
[第 36 行]
app.isReady().then(t => {
const menu = Menu.buildFromTemplate(temp)
Menu.setApplicationMenu(menu);
createWindow();
});
【问题讨论】:
标签:
javascript
html
electron
【解决方案1】:
您可能缺少此导入,因为您的 app 是 undefined:
const { app } = require('electron');
同样isReady 方法返回布尔值 (true/false) 而不是 Promise。您正在寻找app.whenReady() 方法,如下所示:
function createWindow () {
const win = new BrowserWindow(...options...)
// create and load window procedure...
const menu = Menu.buildFromTemplate(temp)
Menu.setApplicationMenu(menu);
}
app.whenReady().then(createWindow)