Error : image could not be created from at app.createWindow in electronjs

Error : image could not be created from at app.createWindow in electronjs

我正在学习electronjs。我在刚开始的示例电子项目之一中遇到此错误。

Error : image could not be created from at app.createWindow in C:\Users\GS\Desktop\electron\example4\index.js 21:3 here is the index.js file code

const { app, BrowserWindow } = require('electron')
function createWindow () {
    const mainWindow = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            nodeIntegration: true
        }
    })
}
app.on("ready", createWindow);

我不知道为什么会这样,但我复制了我一天前创建的另一个示例项目中正在运行的相同代码。可能这是一个非常基本的问题,但我试图从过去的 4-5 小时中弄清楚,但我仍然没有找到任何解决方案。任何帮助将不胜感激

变量 mainWindow 必须在函数 createWindow () 之外声明,否则它所代表的 BrowserWindow 对象在函数之后将不会保持有效(将被垃圾收集)退出。这应该可以解决问题:

const { app, BrowserWindow } = require('electron')
let mainWindow = null;
function createWindow () {
    mainWindow = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            nodeIntegration: true
        }
    })
}
app.on("ready", createWindow);

上面的回答(@free-dom)是正确的,虽然没有必要在函数外声明mainwindow变量。就好像你没有在函数外声明 mainwindow 那么你必须这样调用 app.whenReady().then(createWindow)

const { app, BrowserWindow } = require('electron')
function createWindow () {
    let mainWindow = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            nodeIntegration: true
        }
    })
}
app.whenReady().then(createWindow);